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
可是实际运行结果如截图所示,如何改正?
展开
 我来答
seamoon_ping
2015-06-14 · 超过11用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:31万
展开全部
取元胞数组元素的地方你的代码不对:
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'}
怎么操作?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式