Matlab速通知识点(半小时速通)

2024-06-02 18:44

本文主要是介绍Matlab速通知识点(半小时速通),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#跟着网上课程学习了matlab的基础用法,在这里给大家整合出来,形成知识点的形式,以便大家查阅或者学习,知识点全,有注解~

%%
a=[1,2,3;4,5,6;7,8,9];%矩阵写法b=1:1:10;%开始:步长:结束c=1:10;%遇上一个等价(1可以省略)d=linspace(0,10,5);%起始元素,末尾元素,元素个数。生成等间距的元素个数e=eye(4);%单位阵
z=zeros(1,4);%全零矩阵1*4
o=ones(4,1);%一矩阵4*1阶
r=rand(4);%0-1随机矩阵
rn=randn(4);%高斯随机分布矩阵diag_a=diag(a,1);%diag(a矩阵行向量,主对角线上方第k条斜线)用行向量生成对角阵
tril_a=tril(a,1);%tril(矩阵,主对角线上方第k条斜线)生成矩阵的下三角阵,triu上三角阵a*a;%矩阵乘法
%加减乘一样%点运算%a.*b,a./b,a.^b对应元素的*,*/^运算a.*a;%逆矩阵
pinv(a);%伪逆矩阵,当a不是方阵求他的广义逆矩阵;a是可逆方阵,结果与逆矩阵相同%特征向量 特征值[v,d]=eig(a);%v为特征向量,d为特征值对角阵%行列式
det(a);%秩
rank(a);% * 伴随
compan(b);%%
%矩阵的修改cha_a=a;cha_a(2,3)=4;%(行,列)元素的替换cha_a(1,:)=[2,2,2];%(行,:)替换行,为[]即为删除行cha_a(1,:)=[];%删除行%转置T_a=a';%指定维数的拼接cl_a1=cat(1,a,a);%垂直拼接cl_a2=cat(2,a,a);%水平拼接%%
%信息获取%矩阵的行列[row_a,col_a]=size(a);%行列中最大值len_a=length(a);
%%
%多维数组%创建%直接法%拓展法%cat法mul_31=[1,2,3;2,3,4];mul_32=[3,4,5;4,5,6];mul_3=cat(3,mul_31,mul_32);%%
%转换%___2___---->如num2str,将数字转化为字符串:dec2hex,将十进制转化为十六进制str_b=num2str(b);
%%
a=5;
x=[1,2];y=[3,4];%选择结构%if_elseif_else_endif a>0disp(x);elseif a==0disp(a);elsedisp(a-1);end%switch-case-otherwise-endswitch acase 0disp(a);case 1disp(a+1);otherwisedisp('aaa');end%try-catchtryz=x*y;catchz=x.*y;enddisp(z);%%%循环结构%for 循环变量=初值:步长:终值—end
for i=0:1:10disp(i);
end
%while-end
while a>2disp(a);a=a-1;
end
%%函数调用[a,b]=circ(5);%%
% 绘图
x=0:0.1:2*pi;y1=sin(x);y2=cos(x);plot(y1);y=[y1',y2'];plot(y);
plot(x,y1);
plot(x,y1,'b:o');%画蓝色的圆圈
%r红,g绿,b蓝,c青,m紫,k黑,w白,y黄
%-实线,:电线,--虚线,-.点画线
%.实点 o圆圈 x叉号 *星号 s方块 d钻石 v下三角 ^上三角 <左三角 >右三角 p五角星 h六角星%坐标轴
plot(x,y1);
axis([-1*pi,3*pi,-1.5,1.5]);%规定横纵坐标的范围%图形修饰%标签修饰title=('just soso');xlabel(title);%x轴标记%图例设置legend=('hahaha','location','best');%str顺序与绘图顺序一致,best指图例位置最佳化%图例保留plot(x,y1);hold on;plot(x,y2);hold off;%分割绘制subplot(2,2,1);%分割为2*2区域,在第一块区域绘图plot(x,y1);hold on;subplot(2,2,2);%分割为2*2区域在,第二块绘制图像plot(x,y2);hold off;
%%三维曲线曲面绘制%三维曲线x=0:0.1:2*pi;y=sin(x);z=cos(x);plot3(x,y,z,'b-*');%三维曲面x=-5:0.1:5;%确定x轴的范围y=-4:0.1:4;%确定y轴的范围[X,Y]=meshgrid(x,y);%得到x0y的网络面点z=X.^2+Y.^2;mesh(X,Y,z);%xy是meshgrid的网络点,z是网络顶点%三维表面图x=-5:0.1:5;%确定x轴的范围y=-4:0.1:4;%确定y轴的范围[X,Y]=meshgrid(x,y);z=X.^2+Y.^2;surf(X,Y,z);%与上面一个类似%%%matlab内置函数的内容%多项式%创建p=[1,2,3,4];%系数向量,按x降幂排列,最右边是常数f1=poly2str(p,'x');%生成好看的字符串f1=x^3+2x^2+3x+4,不被认可的运算式f2=poly2sym(p);%生成可用的符号函数f1=x^3+2x^2+3x+4%求值x=4;y1=polyval(p,x);%直接将p转化为多项式进行带入求值%求根r=roots(p);%可以直接求复数根p0=poly(r);%由根求系数,转化为系数矩阵%%
%数据插值0.0%一维插值%y1=interp1(x,y,xi,'method')X=[-3,-1,0,1,3];Y=[9,1,0,1,9];%x,y已知点横纵坐标向量y2=interp1(X,Y,2);y2m=interp1(X,Y,2,'spline');%用spline方法(三次样条)误差预估在x=2的y的值%二位插值%zi=interp1(x,y,xi,yi,'method');%%%X=[2,3,9,15,6,7,4];A=[1,7,2;9,5,3;8,4,6];B=[1,7,3;9,5,3;8,4,6];%数据统计%矩阵最大最小值y=max(X);%求矩阵的最大值,min为最小值[y,k]=max(X);%求最大值,k为该值的坐标[y,k]=max(A,[],2);%A为矩阵,'2'时返回y每一行最大元素构成的列向量%均值和中值y=mean(X);%均值y=median(X);%中值y=mean(A,2);%'2'时返回y每一行均值构成的列向量;'1'时与上述相同y=median(A,2);%'2'时返回y每一行均值构成的列向量;'1'时与上述相同%排序Y=sort(A,1,'ascend');%sort(矩阵,dim,'method')dim为1按列排序,为2按行排序;ascend为升序排序,descent为降序[Y,I]=sort(A,1,'ascend');%I保留了元素之前在A的位置%求和求累加累乘y=sum(X);%求和y=prod(X);%求积y=cumsum(X);%累加y=cumprod(X);%累乘%%%数据计算%最(极)值%多元函数在给定初值附近找最小值点x=fminsearch(fun,x0);%函数零点x=fzero(fun,x0);%给定初值x0附近寻找零点%%%符号对象创建%sym函数P=sin(pi/3);p=sym(p,'r');%用数值p创建符号变量P;%syms函数syms x;f=x^2+2*x+1;digits;%显示当前用于计算的精度digits(16);%改变精度,降低精度可以加快程序运算速度,减少空间占用a16=vpa(sqrt(2));%用vpa函数可以使用我们保存的精度a8=vpa(sqrt(2),8);%在vpa这一步控制精度,离开vpa后恢复精度%%
%符号多项式函数运算%*符号表达形式与相互转化%多项式展开整理g=expand(f);%展开h=collect(g);%整理h1=collect(f,x);%按照x整理(降幂)%因式分解展开质因数fac=factor(h);factor(12);%对12分解质因数%符号多项式向量形式与计算syms a b c;n=[a,b,c];roots(n);%求符号多项式的根n=[1,2,3];roots(n);%反函数fi=finverse(f,x);%%% 符号微积分limit(f,x,4);%x趋近于4limit(f,4);%默认变量趋近于4limit(f);%趋近于零limit(f,x,4,'left');%左极限%单变量求导n=1;fn=diff(f,x,n);%函数f对x变量的n阶导数
%多元偏导fxy=diff(f,x,y);%先对x偏导,再对y偏导;fxyz=diff(f,x,y,z);%符号积分int(f,x,1,2);%对函数f从1-2积分int(f,x);%对x不定积分%%%符号方程求解%一元方程eqn1=a*x==b;S=solve(eqn1);%多元方程eqn2 =x-y==a;eqn3=2*x+y==b;[sx,sy]=solve(eqn2,eqn3,x,y);[sxn,syn]=solve(eqn2,eqn3,x,y,'ReturnCondition',true);%非线性fsolveX=fsolve(fun,x0,optimset(option));%fun函数m文件名,x0求根初值,option选项

这篇关于Matlab速通知识点(半小时速通)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1024782

相关文章

基本知识点

1、c++的输入加上ios::sync_with_stdio(false);  等价于 c的输入,读取速度会加快(但是在字符串的题里面和容易出现问题) 2、lower_bound()和upper_bound() iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 iterator upper_bou

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

C++语法知识点合集:11.模板

文章目录 一、非类型模板参数1.非类型模板参数的基本形式2.指针作为非类型模板参数3.引用作为非类型模板参数4.非类型模板参数的限制和陷阱:5.几个问题 二、模板的特化1.概念2.函数模板特化3.类模板特化(1)全特化(2)偏特化(3)类模板特化应用示例 三、模板分离编译1.概念2.模板的分离编译 模版总结 一、非类型模板参数 模板参数分类类型形参与非类型形参 非类型模板

枚举相关知识点

1.是用户定义的数据类型,为一组相关的常量赋予有意义的名字。 2.enum常量本身带有类型信息,即Weekday.SUN类型是Weekday,编译器会自动检查出类型错误,在编译期间可检查错误。 3.enum定义的枚举类有什么特点。         a.定义的enum类型总是继承自java.lang.Enum,且不能被继承,因为enum被编译器编译为final修饰的类。         b.只能定义

【408数据结构】散列 (哈希)知识点集合复习考点题目

苏泽  “弃工从研”的路上很孤独,于是我记下了些许笔记相伴,希望能够帮助到大家    知识点 1. 散列查找 散列查找是一种高效的查找方法,它通过散列函数将关键字映射到数组的一个位置,从而实现快速查找。这种方法的时间复杂度平均为(

【反射知识点详解】

Java中的反射(Reflection)是一个非常强大的机制,它允许程序在运行时检查或修改类的行为。这种能力主要通过java.lang.reflect包中的类和接口来实现。 通过反射,Java程序可以动态地创建对象、调用方法、访问字段,以及获取类的各种信息(如构造器、方法、字段等)。 反射的用途 反射主要用于以下几种情况: 动态创建对象:通过类的Class对象动态地创建其实例。访问类的字段