首页 > 其他分享 >matlab学习1(基本操作、stringchar、矩阵运算、基础图)

matlab学习1(基本操作、stringchar、矩阵运算、基础图)

时间:2023-04-29 20:55:34浏览次数:39  
标签:subplot 1.5 函数 矩阵 stringchar matlab 基本操作 theta

1. matlab简介

matlab是矩阵实验室,数据是以矩阵的形式存在。

2.基本操作

1).直接在命令行输入指令

2).在脚本文件章编写程序后运行

  脚本文件:存放代码的文件,尾缀:.m

  实时脚本文件界面方便,将结果实时显示在代码旁边(可以加代码,图片,类似于一个文档编辑器,很推荐使用)

3).在函数文件中编写程序,再在脚本文件中调用

  函数文件相当于做好一个工具,以后需要的时候可以直接调用,尾缀也是.m

  有固定的格式:如function[sigma, theta, x, y, final, res] = Simple(f, a, b, index)

4).符号

注释:%+注释内容

分号:在行末尾加分号,会执行计算但是不会在命令行窗口显示输出

命令行输入:clc(清空命令行)、clear(清空工作区)

3.string变量和char变量

在2017a及以后的版本可以使用双引号。

得到的是一个string变量,但是char得到的是多个char变量

string类型可以直接用+进行添加

char类型需要以一下格式进行添加

s1='abcde'

s2=[s1,'12345']

 

4.简单矩阵运算

 

plot函数作图,索引为横坐标

grid on  :添加网格线

多维矩阵:同一行元素用空格或逗号进行划分,用分号来分隔多行

常见矩阵运算:转置、取逆、求特征值和特征向量

求转置:  B = A'
求特征值和特征向量:  [D, V] = eig(A)
    其中D存的是特征向量,V存的是每个特征向量的特征值
求逆矩阵:    E = inv(A)
验证是否为逆矩阵:  F = A * E
    如果F是单位矩阵就正确了
矩阵乘法:
  C = A * B
矩阵点乘:
  E = A.*B    (就是对应位置的数相乘)
求解方程 A*x=b:
  x=A\b    (表示A的逆矩阵乘b,谁在斜杠下面的位置就是需要取逆的矩阵,A/b则A乘b的逆矩阵)
  验证方法:s = A*x+b  (如果s是个零矩阵说明正确)

一个数是标量,另一个数不是标量,则matlab会将该标量隐式扩展为与另外一个操作数具有相同大小

H =[1 1 1; 2 2 2; 3 3 3]
K = 4
L = K*H    %运算时K变成3x3矩阵,对角线元素为4
M= K+H    %运算时K变成3x3的矩阵,每个元素为4

不同维度的行向量和列向量相加(N会变成3行的且每一行都和第一行相同,P会变成5列的每一列和第一列相同)最好不要这样子写

N = [1 2 3 4]
P = [5;6;7]
Q = N+P

5.图

5.1线图

plot函数创建xy值的简单线图

x = 0:0.05:30    % 起点 : 步长  : 终点
y = sin(x);
plot(x,y)

xlabel("横轴标题")
ylabel("纵轴标题")
% grid on    %显示网络
% axis([0 20 -1.5 1.5])    % 设置横纵轴范围横轴:0~20 纵轴:-1.5~1.5

 

 多组函数显示在同一张图中

y1 = sin(x);
y2 = cos(x);
plot(x,y1,x,y2)  %(x,y1,x,y2,'LineWidth',1)可以变粗
axis([0 20 -1.5 1.5])

 5.2条形图

bar函数创建垂直条形图

barh函数用来创建水平条形图

t = -3:0.5:3;
p = exp(-t.*t);  %相当于是e的-t^2
bar(t,p)
barh(t,p)

 5.3极坐标图

polarplot绘制极坐标图

theta = 0:0.01:2*pi;
% abs为绝对值
radi = abs(sin(7*theta).*cos(10*theta));
polarplot(theta,radi)   %分别为弧度和半径

 

 

5.4散点图

scatter函数绘制xy值的散点图

Height = randn(1000,1);  %1000行1列
Weight = randn(1000,1);
scatter(Height,Weight)
xlabel('Height')
ylabel('Weight')

 6.三维图

6.1三维曲面图

surf函数可用来做三维曲面图,一般是展示z=z(x,y)的图像

需要先用meshgrid创建空间(x,y)的点

[X,Y] = meshgrid(-2:0.2:2);
Z = X.*exp(-X.^2-Y.^2);
surf(X,Y,Z)

 

 6.2子图

使用subplot函数可以在同一窗口的不同子区域显示多个绘图

theta = 0:0.01:2*pi;
radi = abs(sin(2*theta).*cos(2*theta))
Height = randn(1000,1)
Weight = randn(1000,1)
%subplot(2,2,1):两行两列中的第一个图
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')

 

 

标签:subplot,1.5,函数,矩阵,stringchar,matlab,基本操作,theta
From: https://www.cnblogs.com/hmy22466/p/17364069.html

相关文章

  • matlab出现函数或变量'fun1'无法识别出错fmincon(line 562)
    函数或变量'fun1'无法识别出错fmincon(line562)原因有两个1.函数名要与函数文件名相同如这里我的函数名是fun1,那么这个文件也要命名为fun12.路径出现了问题通常情况下matlab运行的时候是在C盘对应的bin目录下,但是我保存的这些代码文件并不是再C盘而是在D盘所以我们要进行手......
  • matlab安装
    1.下载教程:Matlab2020a安装教程Matlab安装教程逐步仔细讲解_哔哩哔哩_bilibili教程中提供的压缩包: 【超级会员V8】通过百度网盘分享的文件:717694M…链接:https://pan.baidu.com/s/1Oxpo3-s3X2YJ2EWWjwpuWA 提取码:i6f1复制这段内容打开「百度网盘APP即可获取」2.安......
  • 数据库的基本操作
    结构化查询语句分类创建数据表数据类型字符串类型日期和时间型数值类型NULL值设置数据表的类型数据表的存储位置设置数据表字符集修改表(ALTERTABLE)删除数据表其他结构化查询语句分类数据库操作创建数据库:createdatabase[ifnotexists]数据库名;删除数据库......
  • matlab将坐标轴转换为箭头
    先将原本的坐标轴轴线关闭ax=gca;ax.YAxis.Visible='off';ax.XAxis.Visible='off';ax.ZAxis.Visible='off';然后调用函数ax.LineWidth=1.2;ax.XAxisLocation='origin';arrowAxes(ax)函数如下:ax是轴gca的属性functionarrowAxes(ax)ifnarg......
  • matlab设置坐标轴颜色以及标签换行显示、旋转显示
    set(gca,'ycolor',[000]);%颜色%设置不同字体、字型、以及换行显示,换行显示用{}包住每行字即可yr=ylabel('\it\fontname{TimesNewRoman}y_{CS}^{M4}...\rm\fontname{TimesNewRoman}\cdot{10}');%旋转跳跃set(yr,'Rotation',0,'position',[5.71100]......
  • matlab双y轴
    clcclearcloseallSita=0:0.25:5;y1=-20000./(1.6.*Sita.^2-288.00);y2=-20000./(1.2.*Sita.^2-208.00);y3=-56000./(1.92.*Sita.^2-294.400);y4=-80000./(0.92.*Sita.^2-64.00);figure;holdonset(gcf,'Position',[176,193,621,526]);%......
  • matlab读取文件中时间格式变量并将x轴以时间格式显示
    clcclearcloseall%读取数据文件[num,txt,raw]=xlsread('data.xlsx');%将第一列读进来作为时间dateStrings=raw(2:end,1);%将第一列设置为时间数字格式x_raw=datenum(dateStrings);x=x_raw(:,:);%绘制图像figureholdon%设置图片位置大小set(gcf,'Posit......
  • 示波器数据导入MATLAB进行FFT分析的方法
      http://blog.sina.com.cn/s/blog_710421fa0101crm1.htmlpower_fftscope;示波器保存为.csv格式文件,然后用matlab导入新建.mdl模型文件,示波器里面变量保存为uuuu.time=seconduu.signals.values=Volt在工作台运行上面两条指令,直到FFT分析几面里面出现波形,就可以分析了!1......
  • 量子相关计算基本操作
    NOT,SWAPC-NOT量子门量子门NOT门NOT:输入与输出相反。量子门SWAP门SWAP:交换两个输入量子门C-NOT门 C-NOT:Controlled-NOT根据控制位决定输入是否变为相反的值。控制位为0,输出为目标值原值;控制位为1,输出为目标值的非值。此过程控制位的值保持不变。 C-NOT门中,控制位也......
  • matlab生成点云
    clc;clearall;closeall;N=1000;%#NumberofpointsV=[-10,0;0,10;10,0];%#Trianglevertices,pairsof(x,y)t=sqrt(rand(N,1));s=rand(N,1);P=(1-t)*V(1,:)+bsxfun(@times,((1-s)*V(2,:)+s*V(3,:)),t);u......