怎么在MATLAB里编写(x1-1)^2+(x2 - 2)^2 + (x3 - 3)^2 +......+ (xn - n)^2 =0的程序编码?谢谢~
答案:3 悬赏:40 手机版
解决时间 2021-11-17 22:05
- 提问者网友:你给我的爱
- 2021-11-17 16:47
怎么在MATLAB里编写(x1-1)^2+(x2 - 2)^2 + (x3 - 3)^2 +......+ (xn - n)^2 =0的程序编码?谢谢~
最佳答案
- 五星知识达人网友:詩光轨車
- 2021-11-17 18:06
很显然 x1=1 x2=2 ...... xn=n
如果非要用matlab 那么n应当是一个具体的数字
可以用循环和字符串的相关概念解决
如果非要用matlab 那么n应当是一个具体的数字
可以用循环和字符串的相关概念解决
全部回答
- 1楼网友:孤老序
- 2021-11-17 19:44
n=3; %变量个数
value=[1,2,3]; %取值
expr='[';
data='[';
for i=1:n
expr=[expr,'x',num2str(i)];
data=[data,'x',num2str(i),'(:)'];
if i==n
expr=[expr,']'];
data=[data,']'];
else
data=[data,','];
end
end
expr=[expr,'=ndgrid([',num2str(value),']);'];
eval(expr)
eval(data)
具体是怎么弄的,你看expr和data的值。
eval实际上只是将expr和data作为表达式来运行。
value=[1,2,3]; %取值
expr='[';
data='[';
for i=1:n
expr=[expr,'x',num2str(i)];
data=[data,'x',num2str(i),'(:)'];
if i==n
expr=[expr,']'];
data=[data,']'];
else
data=[data,','];
end
end
expr=[expr,'=ndgrid([',num2str(value),']);'];
eval(expr)
eval(data)
具体是怎么弄的,你看expr和data的值。
eval实际上只是将expr和data作为表达式来运行。
- 2楼网友:孤独的牧羊人
- 2021-11-17 18:19
大概就是这样
len=length(x);
sum=0;
for i=1:len
sum=sum+(x(i)-1)^2;
end
len=length(x);
sum=0;
for i=1:len
sum=sum+(x(i)-1)^2;
end
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯