ImageVerifierCode 换一换
格式:DOC , 页数:16 ,大小:379KB ,
资源ID:1132786      下载积分:10 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1132786.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第三章 MATLAB的数值计算功能.doc)为本站会员(da****u)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

第三章 MATLAB的数值计算功能.doc

1、14 字符串数组、元胞数组和构架数组4.1 字符串数组4.1.1 字符串入门【*例 4.1.1-1】先请读者实际操作本例,以体会数值量与字符串的区别。clear %清除所有内存变量a=12345.6789 %给变量 a 赋数值标量class(a) %对变量 a 的类别进行判断 a_s=size(a) %数值数组 a 的“大小” a =1.2346e+004ans =doublea_s =1 1 b=S %给变量 b 赋字符标量(即单个字符)class(b) %对变量 b 的类别进行判断 b_s=size(b) %符号数组 b 的“大小” b =Sans =charb_s =1 1 whos %

2、观察变量 a,b 在内存中所占字节 Name Size Bytes Classa 1x1 8 double arraya_s 1x2 16 double arrayans 1x4 8 char arrayb 1x1 2 char arrayb_s 1x2 16 double arrayGrand total is 10 elements using 50 bytes 4.1.2 串数组的属性和标识【*例 4.1.2-1】本例演示:串的基本属性、标识和简单操作。(1)创建串数组a=This is an example. a =This is an example. (2)串数组 a 的大小siz

3、e(a) 2ans =1 19 (3)串数组的元素标识a14=a(1:4) %提出一个子字符串 ra=a(end:-1:1) %字符串的倒排 a14 =Thisra =.elpmaxe na si sihT (4)串数组的 ASCII 码ascii_a=double(a) %产生 ASCII 码 ascii_a =Columns 1 through 12 84 104 105 115 32 105 115 32 97 110 32 101Columns 13 through 19 120 97 109 112 108 101 46 char(ascii_a) %把 ASCII 码变回字符串 a

4、ns =This is an example. (5)对字符串 ASCII 码数组的操作%使字符串中字母全部大写w=find(a=a %生成最大值点的纵坐标字符串 max_text=char(maximum,t_text,y_text);%生成标志最大值点的字符串 %生成标志图名用的字符串tit=y=exp(-,num2str(a),t)*sin(,num2str(w),t); %plot(t,zeros(size(t),k) %画纵坐标为 0 的基准线hold on %保持绘制的线不被清除plot(t,y,b) %用兰色画 y(t)曲线plot(t(i_max),y_max,r.,Marke

5、rSize,20) %用大红点标最大值点text(t(i_max)+0.3,y_max+0.05,max_text) %在图上书写最大值点的数据值title(tit),xlabel(t),ylabel(y),hold off%书写图名、横坐标名、纵坐标名 50 t图 4.1.3.3-1 字符串运用示意图4.1.3.4 利用元胞数组创建复杂字符串【*例 4.1.3.4-1】元胞数组在存放和操作字符串上的应用。a=MATLAB 5 ;b=introduces new data types:;%创建单行字符串 a,bc1= Multidimensional array;c2=User-definab

6、le data structure;c3= Cell arrays;c4=Character array;c=char(c1,c2,c3,c4); %创建多行字符串 cC=a;b;c; %利用元胞数组存放长短不同的字符串 disp(C1:2) %显示前两个元胞中的字符内容 disp( ) %显示一行空白disp(C3) %显示第 3 个元胞中的字符内容 MATLAB 5 introduces new data types:Multidimensional array User-definable data structureCell arrays Character array 4.1.4 串

7、转换函数【*例 4.1.4-1】fprintf, sprintf, sscanf 的用法示例。rand(state,0);a=rand(2,2); %产生 随机阵)2(s1=num2str(a) %把数值数组转换为串数组s_s=sprintf(%.10en,a) %10 数位科学记述串, 每写一个元素就换行。 s1 =0.95013 0.606840.23114 0.48598s_s =9.5012928515e-0012.3113851357e-0016.0684258354e-0014.8598246871e-001 fprintf(%.5g,a) %以 5 位数位最短形式显示。不能赋值用

8、 0.950130.231140.606840.48598 6s_sscan=sscanf(s_s,%f,3,2)%浮点格式把串转换成成 数值数组。 )23(s_sscan =0.9501 0.48600.2311 00.6068 0 4.1.5 串操作函数4.2 元胞数组4.2.1 元胞数组的创建和显示4.2.1.1 元胞标识寻访和内容编址寻访的不同4.2.1.2 元胞数组的创建和显示【*例 4.2.1.2-1】本例演示: 元胞数组的创建。)2(C_str=char(这是,元胞数组创建算例 1); %产生字符串R=reshape(1:9,3,3); %产生 实数阵 R)3(Cn=1+2i;

9、%产生复数标量S_sym=sym(sin(-3*t)*exp(-t); %产生符号函数量 (1)直接创建法之一:“外标识元胞元素赋值法”A(1,1)=C_str;A(1,2)=R;A(2,1)=Cn;A(2,2)=S_sym;A %显示元胞数组 A = 2x10 char 3x3 double1.0000+ 2.0000i 1x1 sym (2)直接创建法之二:“编址元胞元素内涵的直接赋值法”B1,1=C_str;B1,2=R;B2,1=Cn;B2,2=S_sym;celldisp(B) %显示元胞数组内容 B1,1 =这是 元胞数组创建算例 1B2,1 =1.0000 + 2.0000iB1

10、,2 =1 4 72 5 83 6 9B2,2 =-sin(3*t)*exp(-t) 4.2.2 元胞数组的扩充、收缩和重组7【*例 4.2.2-1】元胞数组的扩充。(1)利用 cell 指令创建元胞数组C=cell(2); %预设 空元胞数组 )2(C(:,1)=char(Another,text string);10:-1:1 %对第一列元胞赋值 C = 2x11 char 1x10 double (2)元胞数组的“列”扩充和“行”扩充AC=A C %空格(或逗号)利用来分隔列 A_C=A;C %分号利用来分隔“行” AC = 2x10 char 3x3 double 2x11 char

11、1.0000+ 2.0000i 1x1 sym 1x10 double A_C = 2x10 char 3x3 double1.0000+ 2.0000i 1x1 sym 2x11 char 1x10 double 【*例 4.2.2-2】cellplot 能用图形形象化地表示元胞数组的内容。(A_C 取自上例)cellplot(A_C,legend) r 图 4.2.2-1 元胞数组 A_C 的形象化结构图【*例 4.2.2-3】元胞数组的收缩和重组。(1)元胞数组的收缩A_C(3,:)= %删除第 3 行,使 A_C 成为 的元胞数组 )23(A_C = 2x10 char 3x3 dou

12、ble1.0000+ 2.0000i 1x1 sym 1x10 double 8(2)把 A_C 重组成 元胞数组 R_A_C)32(R_A_C=reshape(A_C,2,3) R_A_C = 2x10 char 1x10 double 1x1 sym1.0000+ 2.0000i 3x3 double 4.2.3 元胞数组内容的调取【*例 4.2.3-1】元胞数组内容的调取示例。(1)取一个元胞f1=R_A_C(1,3) %使用园括号寻访得到的是元胞,而不仅是内容。 class(f1) f1 = 1x1 symans =cell (2)取一个元胞的内容f2=R_A_C1,3 %用花括号寻访

13、取得内容 class(f2) f2 =sin(-3*t)*exp(-t)ans =sym (3)取元胞内的子数组f3=R_A_C1,1(:,1 2 5 6) %注意三种括号的不同用途%取第 1 行第 1 列元胞内容中的第 1、2、5、6 列。 f3 =这是 元胞创建 (4)同时调取多个元胞内容f4,f5,f6=deal(R_A_C1,3,4) %取三个元胞内容,赋值给三个变量 f4 =这是 元胞数组创建算例 1f5 =10 9 8 7 6 5 4 3 2 1f6 =1 4 72 5 83 6 9 4.3 构架数组4.3.1 构架数组的创建和显示94.3.1.1 直接创建法及显示【*例 4.3.

14、1.1-1】本例通过温室数据(包括温室名、容积、温度、湿度等)演示:单构架的创建和显示。(1)直接对域赋值法产生“单构架”,即 构架数组。)1(green_house.name=一号房; %构架的域由(构架名).(域名)标识。 green_house.volume=2000 立方米; %green_house.parameter.temperature=31.2 30.4 31.6 28.729.7 31.1 30.9 29.6;%green_house.parameter.humidity=62.1 59.5 57.7 61.562.0 61.9 59.2 57.5; % (2)显示“单构架

15、”结构和内容green_house %显示单构架结构 green_house = name: 一号房volume: 2000 立方米 parameter: 1x1 struct green_house.parameter %显示 parameter 域中内容 ans = temperature: 2x4 doublehumidity: 2x4 double green_house.parameter.temperature%显示 temperature 域中的内容 ans =31.2000 30.4000 31.6000 28.700029.7000 31.1000 30.9000 29.60

16、00 【*例 4.3.1.1-2】本例演示构架数组的创建和显示,并利用构架数组保存一个温室群的数据。本例的运行以例 4.3.1.1-1 为先导。(1)直接对域赋值法“构架数组”。green_house(2,3).name=六号房; %产生 构架数组 )32((2)显示构架数组的结构和构架元素的内容green_house %显示构架数组的结构:构架行列数;构架的域。 green_house = 2x3 struct array with fields:namevolumeparameter green_house(2,3) %显示元素构架的结构:域;是否有子域 ans = name: 六号房vo

17、lume: parameter: 4.3.1.2 利用构造函数创建构架数组【*例 4.3.1.2-1】利用构造函数 struct,建立温室群的数据库。10(1)struct 预建空构架数组方法之一a=cell(2,3); %创建 空元胞数组)32(green_house_1=struct(name,a,volume,a,parameter,a(1,2) % green_house_1 = 2x3 struct array with fields:namevolumeparameter (2)struct 预建空构架数组方法之二green_house_2=struct(name,a,volume

18、,parameter,) % green_house_2 = 2x3 struct array with fields:namevolumeparameter (3)struct 预建空构架数组方法之三green_hopuse_3(2,3)=struct(name,volume,parameter,)% green_hopuse_3 = 2x3 struct array with fields:namevolumeparameter (4)struct 创建构架数组方法之四a1=六号房 ;a2=3200 立方米;green_house_4(2,3)=struct(name,a1,volume,

19、a2,parameter,);%T6=31.2,30.4,31.6,28.7;29.7,31.1,30.9,29.6; % green_house_4(2,3).parameter.temperature=T6; % green_house_4 ans = 2x3 struct array with fields:namevolumeparameter 4.3.2 构架数组域中内容的调取和设置【*例 4.3.2-1】本例目的:一,演示函数 fieldnames , getfield , setfield 的使用方法;二,让读者感受到构架数组对应用工具包的影响;三,演示 struct 函数把“对象”转换为构架的应用。本例为获得一个演练的构架,借助 Toolbox control 工具包中的 tf 函数,先产生一个用传递函数描写的 LTI 线性时不变 2 输入 2 输出系统 。sss12432(1)产生 2 输入 2 输出系统的传递函数阵“对象”Stf=tf(3,2;4 1,1,1 3 2,1 1 1;1 2 2 1,1 0) Transfer function from input 1 to output.3

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。