Matlab基础知识补充


一、函数

以函数文件和函数名调用为例子。

function [sum,x,y]=getSum(a,b)
   sum=a+b;
   x=a;
   y=b;
end

其中[sum,x,y]相当于返回值,getSum(a,b)为函数名以及对应的参数。注意文件的命名也应该是getSum.m。
调用部分就是在另一个文件中正常调用

a=1;
b=2;
  [sum,x,y]=getSum(a,b)

在这里插入图片描述
在matlab中写代码的时候如果后边加了分号,则其结果不会在命令行窗口显示,会直接在工作区显示。对于我们代码多的情况尽量加分号。

二、Matlab字符串和字符

1.字符串

(1)

t="I LOVE WORLD"; %1*1矩阵

在这里插入图片描述

这是一个1×1的矩阵
(2)当字符串中也有引号时就需要再加引号,比如字符串::BREA “IO” t

s="BREA ""IO"" t";

在这里插入图片描述
(3)对于字符串添加内容可以直接用+

%字符串添加内容
 t=t+"!";

(4)矩阵存储多个字符串

 %矩阵存储多个字符串用矩阵
 A=["a","b","c";"d","e","f"];  %2*3的矩阵

在这里插入图片描述

2.字符变量

(1)

 %字符变量
 char='abcdefg';%1*7的字符(矩阵)

在这里插入图片描述
它是一个一行7列的矩阵。如果要取某一个字符可以使用:**char(index)**来实现。
(2)字符扩充

字母扩充
C=[char,'tan']; %1*10

三.矩阵运算

 (1)矩阵中元素加相同值
D=[1 2 3 8 7 4];
E=D+3; %每个元素加3

在这里插入图片描述
(2)求矩阵特征值和特征向量

F=[3,2,1;2,4,1;3,9,2];
%G=F';%求转置
[h1,h2]=eig(F)%求矩阵的特征值和特征向量 h1为特征向量 h2为特征值

在这里插入图片描述
(3)求AX=b的解的方法->使用 \ 运算符

b=[1;3;5]
x=F\b % \在下方位置的就是取逆

AX=b->X=A逆*b->A\b 对于\谁在其左下角谁就是取逆的。

四.画图

(1)对于两个y在同一个图中出现,共用一个x,除了用plotyy以外也可以直接用plot实现。

 x=0:0.05:30
  y=sin(x)
  plot(x,y,'LineWidth',2,'Color','r')
  xlabel("x")
  ylabel("sin(x)")
  %设置横纵坐标范围
  axis([0 20 -1.5 1.5])%[]矩阵
  %多个函数在一个图
  y1=sin(x)
  y2=cos(x)
  plot(x,y1,x,y2);
  axis([0 20 -1.5 1.5])
  legend('y1','y2')  %图加图示

在这里插入图片描述

1.条形图

% 条形图 bar垂直条形图 barh水平条形图
  t=-3:0.05:3 %1*13的矩阵
  p=exp(-t.*t)
  bar(t,p) %t为横坐标 p为纵坐标
 % barh(t,p)

在这里插入图片描述

2.极坐标图

%极坐标图 polarplot
  theta=0:0.01:2*pi
  radi=abs(sin(7*theta).*cos(10*theta));
  polarplot(theta,radi); %弧度和半径

在这里插入图片描述

3.散点图

%散点图 scatter
  %randn(m,n)返回一个m*n的随机项矩阵,均值为0,方差为1
  height=randn(1000,1)
  weight=randn(1000,1)
  scatter(height,weight)
  xlabel('height')
  ylabel('weight')

在这里插入图片描述

4.三维曲面

%三维曲面图 surf
[x,y]=meshgrid(-2:0.2:2)  %x -2->2 meshgrid创建好空间(x,y)点
z=x.*exp(-x.^2-y.^2)
surf(x,y,z)
colorbar

在这里插入图片描述
plot3是生成三维曲线图,注意区分。
plot3下:
在这里插入图片描述

5.多图合并

%子图 subplot函数可以在同一个窗口的不同子区域内显示多个绘图
%subplot(2,2,1)表示图画到这个2×2区域的第一个区域
subplot(2,2,1);surf(x.^2);title('1st');
subplot(2,2,2);surf(y.^3);title('2nd');
subplot(2,2,3); polarplot(theta,radi);title('3rd');
subplot(2,2,4);scatter(height,weight);title('4th');

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值