MATLAB中:如何剔除一个数组中的复数(前面元素是实数,后面是复数,复数的数量不定).
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/04 18:13:18
MATLAB中:如何剔除一个数组中的复数(前面元素是实数,后面是复数,复数的数量不定).
完全剔除复数,不是通过忽略虚部将复数转化为实数。
完全剔除复数,不是通过忽略虚部将复数转化为实数。
![MATLAB中:如何剔除一个数组中的复数(前面元素是实数,后面是复数,复数的数量不定).](/uploads/image/z/4951561-49-1.jpg?t=MATLAB%E4%B8%AD%EF%BC%9A%E5%A6%82%E4%BD%95%E5%89%94%E9%99%A4%E4%B8%80%E4%B8%AA%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E5%A4%8D%E6%95%B0%EF%BC%88%E5%89%8D%E9%9D%A2%E5%85%83%E7%B4%A0%E6%98%AF%E5%AE%9E%E6%95%B0%2C%E5%90%8E%E9%9D%A2%E6%98%AF%E5%A4%8D%E6%95%B0%2C%E5%A4%8D%E6%95%B0%E7%9A%84%E6%95%B0%E9%87%8F%E4%B8%8D%E5%AE%9A%EF%BC%89.)
假如要处理的数组名为a,程序为:
n=0;
for i=1:length(a)
if ( imag(a(i))~=0)
break;
end
n=n+1;
b(i)=a(i);
end
if (n~=0)
a=b;
else
disp('No real number in array a');
end
已在matlab上运行验证,可用于所有情况(即使a数组第一个元素就是复数),运行后的a数组就是除去复数后的数组.
n=0;
for i=1:length(a)
if ( imag(a(i))~=0)
break;
end
n=n+1;
b(i)=a(i);
end
if (n~=0)
a=b;
else
disp('No real number in array a');
end
已在matlab上运行验证,可用于所有情况(即使a数组第一个元素就是复数),运行后的a数组就是除去复数后的数组.