24小时热门版块排行榜    

查看: 325  |  回复: 1

wenqiang1938

铜虫 (小有名气)

[求助] matlab

请教matlab高手,在matlab循环程序中,某变量循环计算时候,由实数变成虚数,如何使这个变量如果是实数,就输出实数,如果是虚数就输出实部。鉴定实数还是虚数程序怎么写。另外,我用real函数时,总报错,Subscript indices must either be real positive integers or logicals.这是什么原因
回复此楼
一切皆有可能
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

Subscript indices must either be real positive integers or logicals.
表示矩阵或者数组下标必须是正整数或者逻辑值

这个其实不用判断,不论是实数还是虚数 直接real输出就是实数本身或者虚数的实部
判断用isreal
见下面的实例
CODE:
S=[0 1 1i 2+2i 2];
RS=real(S);
RS1=[];
     for i=1:length(S)
         if isreal(S(i))
             RS1(i)=S(i);
         else
             RS1(i)=real(S(i));
         end
     end
     RS1
     RS

结果
RS1 =

     0     1     0     2     2


RS =

     0     1     0     2     2
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
2楼2011-11-11 12:04:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wenqiang1938 的主题更新
信息提示
请填处理意见