云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 西工大matlab知识点整理(详细版本)

西工大matlab知识点整理(详细版本)

  • 62 次阅读
  • 3 次下载
  • 2025/5/25 21:10:30

5)cell函数创建元胞数组

>>b = cell(2, 3) b =

[] [] [] [] [] [] >>whos b

Name Size Bytes Class

b 2x3 24 cell array 注意:每个cell占有4个字节的空间 6)celldisp显示元胞数组的全部内容(3种)

>>a

>>celldisp(a) %显示全部内容

>>cellplot(a) %图形方式显示元胞数组的结构

使用内容下标索引显示指定元胞的数据

格式:var_name{row_index, column_index}

或 var_name{:}

7)读取元胞数组中的内容 读取上述b元胞数组的第1行、第2列元胞的内容

>>b, d=b{1, 2}

读取b{1, 2}的第3行、第1列的数据。 >> e = b{1,2}(3,1)

读取元胞数组a第1行的所有元胞。 >>f=a(1,:)

删除元胞数组a第1行的所有元胞。 >>a(1,:) = []

Note: 这里使用的是元胞索引(cell indexing),而不是内容索引(content indexing)

25.结构与结构数组的概念

结构(structure)

由字段(或域,fields)组成

每个字段可以是任一种Matlab数据类型的数据或变量 与C语言的结构类型相似

结构数组(structure array)

多个结构构成结构数组(structure array) 结构数组的元素就是一个结构

26.结构数组变量的创建

1)方法一:直接键入

>>clear student % 清除student 变量 >>student.name = '张三'; % 加入name 字段 >>student.id = 'mr871912'; % 加入id字段 >>student.scores = [58, 75, 62]; % 加入scores字段 >>student % 显示结构变量的数据

student =

name: '张三' id: 'mr871912' scores: [58,75,62]

此时,Matlab视 student 为一个1x1结构数组 第二个学生的信息建立 >>student(2).name = '张宁'; % 加入name 字段 >>student(2).id = 'mr871913'; % 加入id字段 >>student(2).scores=[68, 85, 92]; % 加入scores字段

此时,student变量已成为一个1x2的结构数组 2)方法二:struc函数

>>clear student

>>student=struct('name', '张听说', 'scores', [50 60]); >> student(2)=struct('name', '张廷安', 'scores', [60 70]); >> student(1), student(2) %显示student(1),student(2) ans =

name: '张听说' scores: [50 60] ans =

name: '张廷安'

scores: [60 70] 或

使用struct创建结构数组变量(一次建立多个元素) >>clear student

>>student = struct('name', {'张听说', '张廷安'}, 'scores', {[50 60], [60 70]}); >> student(1), student(2) %显示student(1), … ans =

name: '张听说' scores: [50 60] ans =

name: '张廷安'

scores: [60 70]

3)结构数组嵌套(nested)

结构数组中结构的字段还可以是结构。 4)访问结构数组变量的内容

cat函数: 排列结构数组某字段的值 格式:cat(dim, structurefield) dim=1, 竖排;dim=2, 横排 Exam:

>>cat(1, student.scores) ans =

55 60 65 80

>>cat(2, student.scores)

ans =

55 60 65 80

5)计算平均值(使用mean函数)

计算每次考试的平均值

>>average1=mean(cat(1, student.scores)) average1 =

60 70

27.plot指令的基本调用格式

(1)plot(x)

x为向量时,以该元素的下标为横坐标、元素值为纵坐标绘出曲线

x为实数二维数组时,则按列绘制每列元素值相对其下标的曲线,曲线数等于x数组的列数。

x为复数二维数组时,则按列分别以数组的实部和虚部为横、纵坐标绘制多条曲线

(2)plot(x, y)

x、y为同维数组时,绘制以x、y元素为横纵坐标的曲线

x为向量,y为二维数组、且其列数或行数等于x的元素数时,绘制多条不同颜色的曲线

x为二维数组,y为向量时,情况与上相同,只是y仍为纵坐标。

x = 0:pi/100:2*pi;

y = 2*exp(-0.5*x).*sin(2*pi*x); plot(x,y) 或

t = -pi:pi/100:pi; x = t.*cos(3*t); y = t.*sin(t).^2; plot(x,y)

(3)plot(x1, y1, x2, y2, …)

绘制以x1为横坐标、y1为纵坐标的曲线1,以x2为横坐标、y2为纵坐标的曲线2,等等。

其中x为横坐标,y为纵坐标,绘制y=f(x)函数曲线。 (4)多次叠绘

多次调用plot命令在一幅图上绘制多条曲线,需要hold指令的配合。 hold on 保持当前坐标轴和图形,并可以接受下一次绘制。

hold off 取消当前坐标轴和图形保持,这种状态下,调用plot绘制完全新的图形,不保留以前的坐标格式、曲线。

(5)双纵坐标:plotyy指令

plotyy指令调用格式: plotyy(x1, y1, x2, y2)

x1-y1曲线y轴在左,x2-y2曲线y轴在右。

(6) 多子图

subplot(m, n, k)

使(m*n)幅子图中第k个子图成为当前图

subplot(‘postion’, *left, bottom, width, height+)

在指定的位置上开辟子图,并成为当前图 (7)分格线与grid指令

grid on 画出分格线 grid off 不画分格线

MATLAB的缺省设置是不画分格线;分格线的疏密取决于坐标刻度(改变坐标刻度,可改变分格线的疏密)。 (8)坐标框

box on 控制加边框线 box off 控制不加边框线 (9)刻度设置

指令及格式:

set(gca, ‘xtick’, xs, ‘ytick’, ys)

xs、ys可以使任何合法的实数向量,用于分别设置x、y轴的刻度。

28.图形标识

(1)图形标识包括:

图名(title)

坐标轴名(xlabel、ylabel) 图形文本注释(text) 图例(legend)

(2)简捷使用格式

title(s) % s为字符串变量或常量 xlabel(s) ylabel(s) legend(s)

text(x, y, s) % 指定坐标(x, y)处加注文字

(3)直方图(柱形图)bar

垂直直方图

累计式

year=[1990 1995 2000];

people=[90.7 281.6 254.8; 70.6 271 323.7; 73.9 214.6 326.5]; bar(year, people, ‘stack’);

legend(‘\\fontsize{6}第一产业’, ‘\\fontsize{6}第二产业’, ‘\\fontsize{6}第三产业');

分组式

bar(year, people, ‘group’); % 分组式直方图

legend(‘\\fontsize{6}第一产业’, ‘\\fontsize{6}第二产业’, ‘\\fontsize{6}第三产业');

水平直方图

累计式

barh(year, people, ‘stack’); % 累积式直方图

搜索更多关于: 西工大matlab知识点整理(详细版本) 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

5)cell函数创建元胞数组 >>b = cell(2, 3) b = [] [] [] [] [] [] >>whos b Name Size Bytes Class b 2x3 24 cell array 注意:每个cell占有4个字节的空间 6)celldisp显示元胞数组的全部内容(3种) >>a >>celldisp(a) %显示全部内容 >>cellplot(a) %图形方式显示元胞数组的结构 使用内容下标索引显示指定元胞的数据 格式:var_name{row_in

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com