24小时热门版块排行榜    

查看: 559  |  回复: 5
当前主题已经存档。

奥迪A6

金虫 (小有名气)

[交流] 【求助】大家看下这个matlab小程序——负数问题

% 求助最大值并输出相应的自变量
for i=-5:1;
    for j=-6:1;
       y=i^2+j;
       z=max(y);
    end
end
z
i
j

输出结果:
z =

     2


i =

     1


j =

     1

matlab对负数的处理就这么差吗?大家遇到过这种情况吗?大家是如何避免的?

[ Last edited by nono2009 on 2009-10-13 at 10:07 ]
回复此楼

» 猜你喜欢

为什么我的眼里满含泪水?因为我对这土地爱的深沉。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshilsh

荣誉版主 (职业作家)

优秀版主

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+2,VIP+0):支持应助,辛苦了! 10-12 11:28
你程序写的不对
取最大值不能在里边哦,你看看是不是每次都是直接赋值哦,这样老找不到最大值的

你把y整成向量

然后吧z=max(y)放到循环外边

记住y要整成向量
[center][url=http://www.91cool.net/][img]http://id.91cool.net/sign/?name=小木虫印&say=各位版主辛苦了![/img][/url][/center]
2楼2009-10-12 11:12:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

奥迪A6

金虫 (小有名气)

引用回帖:
Originally posted by woshilsh at 2009-10-12 11:12:
你程序写的不对
取最大值不能在里边哦,你看看是不是每次都是直接赋值哦,这样老找不到最大值的

你把y整成向量

然后吧z=max(y)放到循环外边

记住y要整成向量

请问y怎么整成向量啊?不好意思,新手
为什么我的眼里满含泪水?因为我对这土地爱的深沉。
3楼2009-10-12 11:15:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshilsh

荣誉版主 (职业作家)

优秀版主

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1,VIP+0):高手出马!辛苦了! 10-12 15:07
m=-5:1;
n=-6:1;

for i=1:length(m);
    for j=1:length(n);
       y(i,j)=m(i)^2+n(j);
    end
end

z=max(max(y));
[i,j]=find(y==z);
fprintf('最大值为%d,自变量为%d和%d\n',z,m(i),n(j));

i,j要当成下标,别直接用,
然后y整成矩阵,这样就可以求最大值了
[center][url=http://www.91cool.net/][img]http://id.91cool.net/sign/?name=小木虫印&say=各位版主辛苦了![/img][/url][/center]
4楼2009-10-12 15:04:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
kuhailangyu(金币+1,VIP+0):欢迎积极参与 10-13 10:32
[i,j]=meshgrid(-5:1,-6:1);
y=i.^2+j;
z=max(max(y));
[i,j]=find(y'==z);

最好不要用循环了
明德厚学、求是创新
5楼2009-10-13 09:58:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chinayangyf

木虫 (正式写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
nono2009(金币+1,VIP+0):谢谢交流!欢迎常来。 10-15 15:41
matlab是可以处理负数的。在z=max(y);之前应该有一个最大值比较的程序。
6楼2009-10-15 15:40:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 奥迪A6 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见