matlab求元胞数组最大值的问题? 120
以下是代码:a=cell(2,3);fori=1:2forj=1:2a{i,j}=rand(1,2);enda{i,end}=sqrt((a{i,1}(1)-a{i,2}...
以下是代码:
a=cell(2,3);
for i=1:2
for j=1:2
a{i,j}=rand(1,2);
end
a{i,end}=sqrt((a{i,1}(1)-a{i,2}(1)).^2+(a{i,1}(2)-a{i,2}(2)).^2);
end
a
celldisp(a)
[best_value best_index] = max(str2double(a(:,end)))
在一次运算结束后,期望得到的结果是:best_value0.4714 best_index=1
可是实际运行结果如截图所示,如何改正? 展开
a=cell(2,3);
for i=1:2
for j=1:2
a{i,j}=rand(1,2);
end
a{i,end}=sqrt((a{i,1}(1)-a{i,2}(1)).^2+(a{i,1}(2)-a{i,2}(2)).^2);
end
a
celldisp(a)
[best_value best_index] = max(str2double(a(:,end)))
在一次运算结束后,期望得到的结果是:best_value0.4714 best_index=1
可是实际运行结果如截图所示,如何改正? 展开
展开全部
取元胞数组元素的地方你的代码不对:
b=str2double(a(:,end))
b =
NaN
NaN
如果是想要取出来元胞数组中的元素,再比较元素大小的话,应该是这样的:
b=[a{1:end,1:end}]
b =
1 至 5 列
0.8147 0.9058 0.6324 0.0975 0.1270
6 至 10 列
0.9134 0.2785 0.5469 0.6878 0.5719
后面你应该知道怎么做了
b=str2double(a(:,end))
b =
NaN
NaN
如果是想要取出来元胞数组中的元素,再比较元素大小的话,应该是这样的:
b=[a{1:end,1:end}]
b =
1 至 5 列
0.8147 0.9058 0.6324 0.0975 0.1270
6 至 10 列
0.9134 0.2785 0.5469 0.6878 0.5719
后面你应该知道怎么做了
追问
想问一下,想用mbest数组来保存a数组前两列的平均值,怎么操作?
mbest= sum(a(:,1:2))./2;
想得到的结果是:
mbest={'(0.2070+0.7549)/2,(0.4362+0.7447)/2','(0.6131+0.7200)/2,(0.1968+0.4879)/2'}
怎么操作?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询