1。哪位朋友帮我看看下面这个用来把实数虚数分开的代码哪里错了。
A=[1 2 2+3i 7 4+5i 2+6i];
r=[];
c=[];
for i=1:length(A),
if isreal(A(i))==1,
r=[r A(i)];
else
c=[c A(i)];
end;
end
u
v
2。请问一下到底==和=分别什么时候用?
[em01]看看我的代码你就知道你哪里错了:
A=[1 2 2+3i 7 4+5i 2+6i];
r=[];
c=[];
for k=1:length(A);
if isreal(A(1,k))==1;
r=A(1,k)
else
c=A(1,k)
end
end
i在matlab系统里默认是表示虚数单位,不能乱用!
A(m,n)表示矩阵A的第m行n列的元素。
==和=的区别是:==用于表示关系运算,=用来赋值。在判断逻辑关系式时,只能用==,而数值运算中用=
或许你嫌上面的程序太烦,输出不是很好看,那就再试试下面的程序,你就满意了:
A=[1 2 2+3i 7 4+5i 2+6i];
r=[];
c=[];
i2=1;
i3=1;
for k=1:length(A);
if isreal(A(1,k))==1;
r(1,i2)=A(1,k);
i2=i2+1;
else
c(1,i3)=A(1,k);
i3=i3+1;
end
end
r,c
可能你不满足只能判断一个特定的数组里的实数与虚数,那么把附件里的M文件放到你matlab的work文件夹下,那么你就能调用分离数组里实数与虚数的函数了。
调用格式为:sxpd(x)
比如你想要分离数组a=[2,3i,0,1-5i,pi+5i,-100i,0.001,3]里的实数与虚数
那么只需输入如下程序:
a=[2,3i,0,1-5i,pi+5i,-100i,0.001,3];
sxpd(a)
系统自动帮你分离实数虚数,手到擒来!呵呵,enjoy it!
[attach]4011[/attach]
262 Bytes, 下载次数: 9, 下载积分: 体力 -2 点
sxpd.rar
那个sxpd可以处理不是一维的情况么?
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |