matlab
艾斯西艾
学习就是一个不断与遗忘作斗争的过程
展开
-
Matlab 常用语句(12)--- 坐标外围背景变白色
在matlab中我们有时候需要截取运行的结果图放到文档或者论文当中,但是其默认的坐标外围背景是灰色的,粘贴之后及其难看,如下所示:所以我们需要把坐标外围背景的颜色月变为白色,这时候只需要一个命令即可:set(gcf,‘color’,‘white’);将其放在画图命令之后即可,或者打开一个.Fig 文件,在命令窗口中输入此条命令即可。运行结果如下所示:最后祝大家科研顺利,生活快乐。我是CoNvErGeNcE。。。欢迎关注,哈哈哈...原创 2021-12-10 13:13:14 · 1799 阅读 · 1 评论 -
Matlab常用语句(11)---结构体和元胞数组(struct 和 cell)
1、结构体结构体的创建方法有两种:直接采用赋值语句给结构体的字段赋值;通过结构体创建函数来创建。(1)通过对字段赋值创建结构体station.name='s1';station.x=100;station.y=120;创建结果为:通过 “结构体名称 . 字段名称” 的形式对结构体创建和赋值。在上例中创建了一个基站(station)结构体,并将名称(name)字段赋值为 ‘s1’ ,将基站的坐标设为(100,120).同理,可以创建结构体数组,如下:station(1).name='s1'原创 2021-12-11 09:54:18 · 3497 阅读 · 0 评论 -
用Matlab如何构造Hankel矩阵及Hankel矩阵块
matlab 代码描述:Xm=cell(1,2*N+1); %构造汉克矩阵X=cell(L,2*N-L+2);for k=1:(2*N+1) for i=1:L for j=1:2*N-L+2 X{i,j}=G_final(k,i+j-1); end end Xm{1,k}=X;endXe_1=cell(K,2*N-K+2); %构造汉克.原创 2021-12-30 18:55:17 · 4390 阅读 · 8 评论 -
Matlab脚本运行
1、用"%"注释该行,编辑器里面也有快捷键2、"%%"注释成该节,可以运行节3、在每行数旁小横线单击,横线变为圆圈,表示程序运行到此处暂停4、“ctrl +A”是全选;“ctrl +L”是智能缩进,或者选中后鼠标右键。...原创 2021-12-16 21:44:57 · 4477 阅读 · 0 评论 -
Matlab常用语句(10)---矩阵相关的函数功能(max、min、sum、sort、size、length、find)
举例说明:A = 1 2 3 0 5 6 7 0 91、max 是把每列的最大值打印出来2、max(max(A)) 是把整个矩阵元素的最大值打印出来3、min(A) 是把每列的最小值打印出来4、sum(A) 是把每列的加和求出来5、sort(A) 是把每列从小排到大,显示出来6、sortrows(A) 是把整行按照第一列的排序调动7、size(A) 打印出的是“行 列”的大小8、length(A) 返回 X 中最大数组维原创 2021-12-16 21:45:09 · 1581 阅读 · 0 评论 -
Matlab 常用语句(9)---计算(log、prod、+ - * / .)
1、loglog() 是以 e 为底log2() 是以 2 为底log10() 是以 10 为底注:输入矩阵时是用“;”换行2、矩阵算法其中 点乘 要求前后矩阵的类型一样原创 2021-12-16 21:45:17 · 1010 阅读 · 0 评论 -
Matlab 中常用语句(8)---构造常用矩阵(eye、ones、zeros、rand、randn、diag)
1、eye 单位矩阵I = eye 返回标量 1。I = eye(n) 返回一个主对角线元素为 1 且其他位置元素为 0 的 n×n 单位矩阵。I = eye(n,m) 返回一个主对角线元素为 1 且其他位置元素为 0 的 n×m 矩阵。I = eye(sz) 返回一个主对角线元素为 1 且其他位置元素为 0 的数组。大小向量 sz 定义 size(I)。例如,eye([2,3]) 返回一个主对角线元素为 1 且其他位置元素为 0 的 2×3 数组。I = eye(n,classname) 返回一原创 2021-12-16 21:45:29 · 5594 阅读 · 0 评论 -
Matlab常用语句(7)---绘图subplot
subplot在平铺位置创建坐标区语法:subplot(m,n,p)subplot(‘Position’,pos)说明:(1)subplot(m,n,p) 将当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区。如果指定的位置已存在坐标区,则此命令会将该坐标区设为当前坐标区。例1:创建一个分为四个子图的图窗。在每个子图上绘制一条正弦波并为每个子图指定标题。subplot(2,2,1)x = linspace(0,10);y1 = sin(x);plot(x,y1)title(原创 2021-12-16 21:46:18 · 4039 阅读 · 0 评论 -
Matlab 常用语句(6)---绘图 plot
plot二维线图语法:plot(X,Y)plot(X,Y,LineSpec)plot(X1,Y1,…,Xn,Yn)plot(X1,Y1,LineSpec1,…,Xn,Yn,LineSpecn)plot(Y)plot(Y,LineSpec)plot(___,Name,Value)说明:(1)plot(X,Y) 创建 Y 中数据对 X 中对应值的二维线图。a)如果 X 和 Y 都是向量,则它们的长度必须相同。plot 函数绘制 Y 对 X 的图。b)如果 X 和 Y 均为矩阵,则它们的原创 2021-12-25 20:45:31 · 1135 阅读 · 0 评论 -
Matlab 常用语句(5)---eig(求特征值和特征向量)
eig特征值和特征向量语法:e = eig(A)[V,D] = eig(A)[V,D,W] = eig(A)e = eig(A,B)[V,D] = eig(A,B)[V,D,W] = eig(A,B)说明:(1)e = eig(A) 返回一个列向量,其中包含方阵 A 的特征值。A = 4×41.0000 0.5000 0.3333 0.25000.5000 1.0000 0.6667 0.50000.3333 0.6667 1.0原创 2021-12-16 21:46:28 · 10141 阅读 · 0 评论 -
Matalb常用语句(4)---conj(共轭、共轭转置)
conj复共轭语法:ZC = conj(Z)说明:ZC = conj(Z) 返回 Z 的元素的复共轭。算法:如果 Z 是一个复数数组:conj(Z) = real(Z) - i*imag(Z)原创 2021-12-25 20:46:55 · 1985 阅读 · 0 评论 -
Matlab 常用语句(3)---inv 与 pinv(逆与Moore-Penrose伪逆)
当输入的矩阵行数等于列数时采用inv求矩阵的逆,即 Y=inv(X)其中X为要求逆的矩阵,Y 为 X 矩阵的逆。计算一个 3×3 矩阵的逆矩阵。X = [1 0 2; -1 5 0; 0 3 -9]X = 3×3 1 0 2-1 5 0 0 3 -9Y = inv(X)Y = 3×30.8824 -0.1176 0.19610.1765 0.1765 0.03920.0588 0.0588 -0.0原创 2022-01-08 10:01:09 · 4821 阅读 · 0 评论 -
写代码时常用的字符表示
原创 2021-12-30 18:55:35 · 1445 阅读 · 0 评论 -
matlab常用语句(2)---奇异值分解svd
svd 奇异值分解语法:s = svd(A)[U,S,V] = svd(A)说明:s = svd(A) 以降序顺序返回矩阵 A 的奇异值;[U,S,V] = svd(A) 执行矩阵 A 的奇异值分解,因此 A = USV’。举例:1)计算满秩矩阵的奇异值。A = [1 0 1; -1 -2 0; 0 1 -1]A = 3×3 1 0 1-1 -2 0 0 1 -1s = svd(A)s = 3×12.46051.69960.2原创 2021-12-11 09:52:57 · 5340 阅读 · 0 评论 -
Matlab 常见错误(1)——提示“数组索引必须为正整数或逻辑值”或者“索引超出数组元素的数目”
我自己出现这个错误的代码,是在想对契比雪夫方向图进行采样时。代码如下:S=20;dS=0:2000/(2*S):2000;theta1=0:180/(2*S):180;for k=1:41 Y(k)=U(dS(k));endfigure(2);plot(theta1,Y);错误提示为:出现这个错误的原因主要以下这个原因,是 matlab 的数组中的第一个元素序号为 1 (在C语言中的数组第一个为 0 ),也就是说在索引时,matlab索引到了 0 或者负值。还有一种错误提示为原创 2021-12-11 09:53:17 · 121369 阅读 · 3 评论 -
Matlab 中如何创建和调用一个函数
首先是基本格式:function [ , , , ] = function_name ( , , , )方括号中的是输出变量,小括号中的是输入变量。function 是固定格式,function_name 是你自己取得函数名称。值得注意的是,只有一个输出变量时,则不需要加方括号如果根本没有输出变量, 包括等号在内的都不需要了,如果没有输入变量, 函数名后面的括号可有可无。尤其需要注意的是函数名和你的文件命必须一致。下面就是一个例子:编写好函数就是调用,在调用的过程中只需原创 2021-12-11 09:53:30 · 7387 阅读 · 0 评论 -
Matlab 中极坐标图形的画法
Matlab 中极坐标图形的画法首先画极坐标用到的作图命令是 polarplot ,在其内部和直角坐标一样,直角坐标是要标注横纵坐标,那么在极坐标条件下就是要标注 theta (角度) 和 r(半径),其中 theta 的单位要是弧度制(rad),半径的单位就根据自己的需求即可。然后就是要标注极坐标图的范围,用命令 thetalim([0 180]),本语句中就是画的半圆。然后就是确定半径的范围 rlim()例子如下:figure('NumberTitle', 'off', 'Name', 'S原创 2021-12-30 18:55:57 · 31140 阅读 · 2 评论 -
MATLAB常用语句(1)---rem 和mod
MATLAB常用语句(实时更新)(1)rem 和 mod (除后的余数)语法: r=rem(a,b) ; b=mod(a,m)其中 a 是被除数:被除数,指定为标量、向量、矩阵或多维数组。a 必须是任意数值类型的实数值数组。数值输入 a 和 b 必须具有相同的大小或兼容的大小(例如,a 是 M×N 矩阵,b 是标量或 1×N 行向量)。如果 a 和 b 是持续时间数组,则它们必须具有相同的大小,除非其中一个为标量。如果一个输入是持续时间数组,则另一个输入可以是持续时间数组或数值数组。在此上下文中原创 2022-01-08 10:01:24 · 6024 阅读 · 2 评论 -
如何将matlab代码转为C语言(2)--在C++中调用matlab的函数
如何将matlab代码转为C语言(2)–在C++中调用matlab的函数在上一条博文中提供了一种直接在matlab操作中的方法,下面提供一种新的调用方法,即在C++中调用matlab中的dll文件。首先就是环境的配置:一、电脑的环境配置1、右键我的电脑,点击属性,在控制面板主页中选择高级系统设置2、点击环境变量->双击path->点击新建,添加路径为G:\MATLAB2019a\bin\win64(这是我电脑中matlab安装路径)注意添加了路径之后一定要一路点击确定,这样才会配置成原创 2021-12-30 18:54:58 · 6068 阅读 · 5 评论 -
MATLAB转C语言的步骤与解决方案
MATLAB转C语言的步骤步骤我们首先以求三阶矩阵的逆为例,首先在matlab中编写的代码如下: function[res] = inverse(src) res = inv(src) end此为新建的一个函数,函数的保存名称为 inverse.m ,需要注意的是这个.m文件必须是函数文件,而不能是脚本文件,而且文件的名称和函数的名称必须一致。在matlab中输入一个三阶矩阵与输出的结果如下所示:`在本文的末尾会验证在VS2017C语言代码的运行结果。进入主题,在已经写好了函数的原创 2021-12-11 09:54:05 · 16292 阅读 · 2 评论