Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-08-22
帖子: 3
声望力: 0 ![]() |
![]()
问题描述:
1. 实数型数据为保存在工作目录下的data.txt,按实部和虚部分隔分成2列数据,示例文件内容为 1.3 -0.2 2.1 11 3.5 2 接下来试图通过m命令文件将数据读入并转化为下面的3x1复数矩阵。 1.3-0.2i 2.1+11i 3.5+2i 2. 尝试用两个矩阵的复数计算合成,m命令文件内容为 clear; data=load('data.txt'); for i=1:3 re(i,1)=data(i,1); im(i,1)=data(i,2); end TransMat=re+i.*re; 结果意外的得到3x1的实数矩阵 3. 再尝试用矩阵元素复数计算后填入新矩阵,其m命令内容为 clear; data=load('data.txt'); for i=1:3 TransMat(i,1)=data(i,1)+i.*data(i,2); end 结果仍然是意外的3x1实数矩阵 2或3的m命令执行后,用whos命令查看矩阵类型,得到的结果均为 TransMax size=3x1 class=double array 我也google过"matlab complex array",但这方面的问题好像没有答案。在这里向大家求教,请帮帮我!谢谢。 此帖于 2009-08-22 03:32 被 nissen 编辑。 |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2009-08-22
帖子: 3
声望力: 0 ![]() |
![]()
请大家给我出出主意,顶一下帖子。
![]() |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2009-08-22
帖子: 3
声望力: 0 ![]() |
![]()
找到答案了。
只要将m文件循环体内运算语句中的虚数单位i改写成j即可。看来在这里matlab将i看成循环语句for i=1:8中的数值了。 |
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2009-08-22
帖子: 1
声望力: 0 ![]() |
![]() |
![]() |
![]() |