优化加权和

32视图(30天)
我想优化权重 的总和 ,在那里 z 是深度(厘米) 。条款 向量(代表剂量)的尺寸吗 已经固定的,知道输入值。我需要优化这些权重 在该地区 ,在那里 是一个常数向量的大小 (见附图),为了平高原尽可能多。
谁能帮我解决一下这个问题吗?
许多感谢提前任何指导和考虑!
3评论
Torsten
Torsten 2022年3月28日
编辑:Torsten 2022年3月28日
是的,但它是可能的加权和该如何成为一个常数在一个完整的时间间隔?
Di曲线类似,所以每一个加权和行为同样Di的一样。加权和不能成为一个常数。

登录置评。

接受的答案

马特·J
马特·J 2022年3月28日
编辑:马特·J 2022年3月28日
你不包括Dconst或相应的z,所以我的输赢都从你的附加jpg图像。
负载Dose.mat
C = (D1、D2、D3、D4 D5, D6, D7, D8);
[m, n] =大小(C);
Dconst = 0.1 * 1 (m, 1);%近似从jpg图像
z = linspace(0、8.5米);%近似从jpg图像
英国石油(bp) = 5.5 < = & z < = 8.5;%布拉格峰间隔
w = lsqlin (C(英国石油(bp):), Dconst (bp), [], [], (1, n), 1, 0 (n, 1), (n, 1));
最低发现满足约束。优化完成,因为目标函数中引入可行的方向,在最优值的宽容,和约束满足约束的值公差内。
情节(z, [C * w, Dconst]);传奇(“Dtot”,“Dconst”,“位置”,“东南”)
1评论
德基于“增大化现实”技术
太棒了——谢谢你! !我忘了说,我大多热衷于实现homogeniety在剂量比达到水平剂量的特定区域 。然而,这种解决方案!

登录置评。

答案(1)

约翰D 'Errico
约翰D 'Errico 2022年3月28日
编辑:约翰D 'Errico 2022年3月28日
首先,学习使用数组! ! ! ! ! ! ! !
不要创建8种不同编号的变量。为什么有意义,当你可以创建一个数组,称之为剂量?
剂量= [D1、D2、D3、D4 D5, D6, D7, D8);
MATLAB语言是一个矩阵。学会使用它。无论如何,为了使用lsqlin,您将需要一个数组。
接下来,您实际上并不提供Dtot。所以我们可以帮你更多吗?可能不是真的,如果你的目标是真正achueve特定剂量的目标。如果你的目标是实现一个尽可能大的总剂量在整个地区,那么你可能会这样做:
达因= 0.12 * 1 (501 1);%无法实现,但谁在乎呢?恒星的目的。
磅= 0 (1,8);
乌兰巴托= 1 (1,8);
= 1 (1,8);%等式约束:之和必须等于1
B = 1;
W = lsqlin(剂量,达因,[][],A, B,磅,乌兰巴托)
最低发现满足约束条件。
优化因为目标函数引入在完成
可行的方向,在最优值的宽容,
约束满足约束的值公差内。
<停止标准详细信息>
W =
0.0271916622048387
0.043945469132034
0.0555504667354272
0.0671084337012187
0.0905029933411581
0.113513538791469
0.167454011263868
0.434733424829987
情节(剂量* W)
事先,我玩一些数字,想知道解决方案会是什么样子。这大约是我发现,至少如果你的目标是一条曲线看起来模糊的像你策划的目标。
如果你想要更高的加载在左边,你需要什么东西和一些质量。然而,通过目标只是有点下降,你可以使结果,只是一点。
达因= 0.1 * 1 (501 1);
W = lsqlin(剂量,达因,[][],(1,8),1,0 (8),(1,8))
最低发现满足约束条件。
优化因为目标函数引入在完成
可行的方向,在最优值的宽容,
约束满足约束的值公差内。
<停止标准详细信息>
W =
0.0800640800727342
0.0450974697116315
0.0615545440518655
0.0676444663541099
0.0843898048745855
0.110747769607969
0.135846098000183
0.414655767326922
情节(剂量* W)
这显然有一个平坦的高原,你显示的是你的目标。

类别

找到更多的在和迭代解算器输出显示帮助中心文件交换

下载188bet金宝搏


释放

R2021b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!