| 查看: 3221 | 回复: 2 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
1025493989新虫 (正式写手)
|
[求助]
使用matlab用介电常数和磁导率求解反射率的程序问题 已有2人参与
|
|
|
load w.txt; f=w(:,1); e1=w(:,2); e11=w(:,3); u1=w(:,4); u11=w(:,5); e=e1-i*e11; u=u1-i*u11; k1=(u./e).^0.5; k2=(u.*e).^0.5; K=2*pi*0.0080/3; z=k1.*tanh(i*(K.*f./1).*k2); RL=20.*log10(abs(z-1)./abs(z+1)); %计算结果输出,Excel格式 Excel=actxserver('Excel.Application'); set(Excel,'Visible',1); Workbooks=Excel.Workbooks; Workbook=invoke(Workbooks,'Add'); Sheets=Excel.ActiveworkBook.Sheets; Sheet2=get(Sheets,'Item',2); invoke(Sheet2,'Activate'); Activesheet=Excel.Activesheet; A=[f,RL]; ActivesheetRange=get(Activesheet,'Range','A1:B201'); set(ActivesheetRange,'Value',A); Range=get(Activesheet,'Range','A1:B201'); plot(f,RL);xlabel('\it 频率 / GHz\rm'),ylabel('\it 吸收损耗 / dB \rm'); %输出路径 invoke(Workbook,'SaveAs','C:\Documents and Settings\Administrator\桌面\新建文件夹 );invoke(Excel,'Quit'); 出现以下错误提示,不知道原因出在哪,求指导,谢谢 Error using load Unknown text on line number 1 of ASCII file C:\Users\thinkpad\Desktop\w.txt "f". |
» 猜你喜欢
反铁磁体中的磁性切换:两种不同的机制已成功可视化
已经有0人回复
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有121人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
笼目材料中量子自旋液体基态的证据
已经有0人回复
数学教学论硕士可以读数学物理博士吗?
已经有0人回复
德国亥姆霍兹Hereon中心汉堡分部招镁合金腐蚀裂变SCC课题方向2026公派博士生
已经有4人回复
澳门大学 应用物理及材料工程研究院 潘晖教授课题组诚招博士后
已经有11人回复
小龙123457
新虫 (初入文坛)
- 应助: 0 (幼儿园)
- 金币: 43
- 帖子: 21
- 在线: 6.4小时
- 虫号: 5249443
- 注册: 2016-11-17
- 性别: GG
- 专业: 金属材料的制备科学与跨学
3楼2017-06-06 16:42:44
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
fegg7502: 金币+1, 鼓励交流 2015-10-18 11:02:49
1025493989: 金币+20, ★★★很有帮助, 谢谢 2015-10-18 11:18:28
感谢参与,应助指数 +1
fegg7502: 金币+1, 鼓励交流 2015-10-18 11:02:49
1025493989: 金币+20, ★★★很有帮助, 谢谢 2015-10-18 11:18:28
|
一、纯数据txt文件(没有字母和中文,纯数字) 例如test.txt文件,内容为“17.901 -1.1111 33.045 17.891 -1.1286 33.045 17.884 -1.1345 33.045” 可以在command window中输入load test.txt ,然后就会产生一个test的数据文件,内容跟test.txt中的数据一样 ;另一种方法是在file/import data....../next/finish 也可产生一个叫test的数据文件。 二、中英文和数据txt文件,如test1.txt “你好 欢迎来到 振动论坛 vib.hit.edu.cn 1 11 111 1111 2 22 222 2222 3 33 333 3333 4 44 444 4444 5 55 555 5555” 这样的文件怎么读入数据呢? 方法有多种,现举两个比较简单实用的。 方法一: file/import data....../next/finish >> whos Name Size Bytes Class data 5x4 160 double array textdata 4x1 300 cell array Grand total is 54 elements using 460 bytes >> data data = 1 11 111 1111 2 22 222 2222 3 33 333 3333 4 44 444 4444 5 55 555 5555 >> textdata textdata = '你好' '欢迎来到' '振动论坛' 'vib.hit.edu.cn' 方法二: [a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4) 说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%f等。 这里%s的个数和[a1,a2,a3,a4]对应。 >> [a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4) a1 = '1' '2' '3' '4' '5' a2 = '11' '22' '33' '44' '55' a3 = '111' '222' '333' '444' '555' a4 = '1111' '2222' '3333' '4444' '5555' 因以字符串的形式读入,所以有''。 ———————————————————————————————— 三、中文 数据 英文 混乱txt文件如test.txt 你好 1 11 111 1111 欢迎来到 2 22 222 2222 振动论坛 3 33 333 3333 vib.hit.edu.cn 4 44 444 4444 5 55 555 5555 说明:这种内容格式的文件用上面的方法是不行的。 fidin=fopen('test.txt'); % 打开test2.txt文件 fidout=fopen('mkmatlab.txt','w'); % 创建MKMATLAB.txt文件 while ~feof(fidin) % 判断是否为文件末尾 tline=fgetl(fidin); % 从文件读行 if double(tline(1))>=48&&double(tline(1))<=57 % 判断首字符是否是数值 fprintf(fidout,'%s\n\n',tline); % 如果是数字行,把此行数据写入文件MKMATLAB.txt continue % 如果是非数字继续下一次循环 end end fclose(fidout); MK=importdata('MKMATLAB.txt'); % 将生成的MKMATLAB.txt文件导入工作空间,变量名为MK,实际上它不显示出 来 >> MK MK = 1 11 111 1111 2 22 222 2222 3 33 333 3333 4 44 444 4444 5 55 555 5555 |

2楼2015-10-18 11:01:50












回复此楼