24小时热门版块排行榜    

查看: 23490  |  回复: 73

月只蓝

主管区长 (职业作家)

引用回帖:
30楼: Originally posted by 月只蓝 at 2015-01-21 17:00:31
以下面的数组为例:
X1=;
X2=;
X3=;
Y=;

代码:

X1=;
X2=;
X3=;
Y=;
for i=1:length(Y)
if Y(i)>10 & Y(i)<50
YY(i)=Y(i);
else YY(i)=max(Y);
end
end
j=find(YY==min(YY));
Y_m ...

说明一下,改代码用于:寻找在10<Y<50区间内的最小值,且对应X1,X2,X3值
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
31楼2015-01-21 17:01:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

梦落在草地上

新虫 (小有名气)

引用回帖:
30楼: Originally posted by 月只蓝 at 2015-01-21 17:00:31
以下面的数组为例:
X1=;
X2=;
X3=;
Y=;

代码:

X1=;
X2=;
X3=;
Y=;
for i=1:length(Y)
if Y(i)>10 & Y(i)<50
YY(i)=Y(i);
else YY(i)=max(Y);
end
end
j=find(YY==min(YY));
Y_m ...

有3个疑问:
1.代码中if Y(i)>10 & Y(i)<50是指Y在区间[10,50]的最优吗?
2.我想得到的Y最小值,不是为了筛选出数据中的最优,而是根据回归方程推算出的最优而已。
3.如果想同时实现Y1和Y2=[1.39 1.329 2.269 1.754 1.602 2.026 5.361 1.238 1.208 1.359 4.694 1.511 1.541 2.481]同时最小最优时对应的X值,怎么处理?
32楼2015-01-21 17:13:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

梦落在草地上

新虫 (小有名气)

引用回帖:
30楼: Originally posted by 月只蓝 at 2015-01-21 17:00:31
以下面的数组为例:
X1=;
X2=;
X3=;
Y=;

代码:

X1=;
X2=;
X3=;
Y=;
for i=1:length(Y)
if Y(i)>10 & Y(i)<50
YY(i)=Y(i);
else YY(i)=max(Y);
end
end
j=find(YY==min(YY));
Y_m ...

您好,对于30楼的代码我有2个疑问:
1.能不能根据回归方程计算得出Y1最小值,而并非像筛选出Y1最小的数据。
2.如果同时Y1=[...(同楼上)...],同时Y2=[...],如何确定一个同时较优的值以及区间呢?
33楼2015-01-21 17:19:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
32楼: Originally posted by 梦落在草地上 at 2015-01-21 17:13:18
有3个疑问:
1.代码中if Y(i)>10 & Y(i)<50是指Y在区间的最优吗?
2.我想得到的Y最小值,不是为了筛选出数据中的最优,而是根据回归方程推算出的最优而已。
3.如果想同时实现Y1和Y2=同时最小最优时对 ...

这就是最优化问题了。
用1stopt方便一些,参见1stopt下载链接中的help手册,关键词 MinFunction
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
34楼2015-01-21 17:21:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

梦落在草地上

新虫 (小有名气)

引用回帖:
34楼: Originally posted by 月只蓝 at 2015-01-21 17:21:06
这就是最优化问题了。
用1stopt方便一些,参见1stopt下载链接中的help手册,关键词 MinFunction...

好的,晚上我自己再试下。如果失败,明儿麻烦您。
35楼2015-01-21 17:42:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

梦落在草地上

新虫 (小有名气)

引用回帖:
34楼: Originally posted by 月只蓝 at 2015-01-21 17:21:06
这就是最优化问题了。
用1stopt方便一些,参见1stopt下载链接中的help手册,关键词 MinFunction...

我自己尝试了下单方程最优化:Parameters X1[1,7], X2[1,7], X3[1,7];
Variable X1,X2,X3,Y;
Minimum = Y;
Function Y=355.45-38.35*X1-13.99*X2-85.78*X3+0.825*X1*X2+6.234*X1*X3+1.959*X2*X3+1.278*X1^2+0.272*X2^2+6.59*X3^2;
Data;
    1        2        4                 96.15
    1        4        7                89.07
    2        6        3                95.44
    2        1        7                96.08
    3        3        3                95.42
    3        5        6                96.37
    4        7        2                92.66
    4        1        6                96.49
    5        3        2                95.73
    5        5        5                93.93
    6        7        1                92.53
    6        2        5                95.68
    7        4        1                95.37
    7        6        4                93.97

得到X1 X2 X3最佳估算 没有Y值
请问这样准确吗?
36楼2015-01-21 22:00:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
36楼: Originally posted by 梦落在草地上 at 2015-01-21 22:00:59
我自己尝试了下单方程最优化:Parameters X1, X2, X3;
Variable X1,X2,X3,Y;
Minimum = Y;
Function Y=355.45-38.35*X1-13.99*X2-85.78*X3+0.825*X1*X2+6.234*X1*X3+1.959*X2*X3+1.278*X1^2+0.272*X2^2+6.59*X3 ...

你想求Y的最小值,就不需要用 Data 给出数据了。

Parameters X1[1,7], X2[1,7], X3[1,7];
Minimum = Y;
Function Y=355.45-38.35*X1-13.99*X2-85.78*X3+0.825*X1*X2+6.234*X1*X3+1.959*X2*X3+1.278*X1^2+0.272*X2^2+6.59*X3^2;

计算结果:
函数表达式: 355.45-38.35*x1-13.99*x2-85.78*x3+0.825*x1*x2+6.234*x1*x3+1.959*x2*x3+1.278*x1^2+0.272*x2^2+6.59*x3^
          2
目标函数值(最小): 74.7734857403684
X1: 1
X2: 5.30696783339643
X3: 5.24655919780554

结算结果中,“目标函数值”就是对应的Y最小值:74.7734857403684
对应的X1 X2 X3为
X1: 1
X2: 5.30696783339643
X3: 5.24655919780554
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
37楼2015-01-22 08:55:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

梦落在草地上

新虫 (小有名气)

引用回帖:
37楼: Originally posted by 月只蓝 at 2015-01-22 08:55:28
你想求Y的最小值,就不需要用 Data 给出数据了。

Parameters X1, X2, X3;
Minimum = Y;
Function Y=355.45-38.35*X1-13.99*X2-85.78*X3+0.825*X1*X2+6.234*X1*X3+1.959*X2*X3+1.278*X1^2+0.272*X2^2+6.59*X3^ ...

Paprameters X1[1,7], X2[1,7], X3[1,7];
Maximum = Y;
Function Y=355.46-38.35*X1-13.99*X2-85.78*X3+0.825*X1*X2+6.234*X1*X3+1.959*X2*X3+1.278*X1^2+0.272*X2^2+6.59*X3^2;
函数表达式: 355.46-38.35*x1-13.99*x2-85.78*x3+0.825*x1*x2+6.234*x1*x3+1.959*x2*x3+1.278*x1^2+0.272*x2^2+6.59*x3^
          2
目标函数值(最大): 1.79769313486232E308
x1: -6.15439475617334E153
x2: -5.52301057071188E153
x3: -1.5922467021636E153

很诡异的结果(X1、X2、X3、Y均不在区间)..而且每F9一次结果就会变化一次。.这是怎么回事啊?
38楼2015-01-22 10:00:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

梦落在草地上

新虫 (小有名气)

引用回帖:
37楼: Originally posted by 月只蓝 at 2015-01-22 08:55:28
你想求Y的最小值,就不需要用 Data 给出数据了。

Parameters X1, X2, X3;
Minimum = Y;
Function Y=355.45-38.35*X1-13.99*X2-85.78*X3+0.825*X1*X2+6.234*X1*X3+1.959*X2*X3+1.278*X1^2+0.272*X2^2+6.59*X3^ ...

忽略38楼:
重启程序重新运行了下:
Parameters X1[1,7], X2[1,7], X3[1,7], Y[1,100];
Maximum = Y;
Function Y=355.45-38.35*X1-13.99*X2-85.78*X3+0.825*X1*X2+6.234*X1*X3+1.959*X2*X3+1.278*X1^2+0.272*X2^2+6.59*X3^2;

在Parameters多加了一个Y[1,100]后,就没法运行了,您看下怎么限制Y值最大且X1 X2 X3 Y都在制定区间内?
39楼2015-01-22 10:11:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
38楼: Originally posted by 梦落在草地上 at 2015-01-22 10:00:29
Paprameters X1, X2, X3;
Maximum = Y;
Function Y=355.46-38.35*X1-13.99*X2-85.78*X3+0.825*X1*X2+6.234*X1*X3+1.959*X2*X3+1.278*X1^2+0.272*X2^2+6.59*X3^2;
函数表达式: 355.46-38.35*x1-13.99*x2-85.78*x ...

注意正确地写程序:
正确拼写:Parameters
错误拼写:Paprameters  

Parameters X1[1,7], X2[1,7], X3[1,7];
Maximum = Y;
Function Y=355.46-38.35*X1-13.99*X2-85.78*X3+0.825*X1*X2+6.234*X1*X3+1.959*X2*X3+1.278*X1^2+0.272*X2^2+6.59*X3^2;

函数表达式: 355.46-38.35*x1-13.99*x2-85.78*x3+0.825*x1*x2+6.234*x1*x3+1.959*x2*x3+1.278*x1^2+0.272*x2^2+6.59*x3^
          2
目标函数值(最大): 234.498
X1: 1
X2: 1
X3: 1
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
40楼2015-01-22 10:13:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 dshuanger 的主题更新
信息提示
请填处理意见