当前位置: 首页 > news >正文

山东省建设职业教育集团网站怎么制作属于自己的app

山东省建设职业教育集团网站,怎么制作属于自己的app,王也头像版,ai智能写作一键生成MATLAB软件版本#xff1a;MATLAB R2016b 本文是博主从零开始学Matlab的记录#xff0c;适合第一次接触Matlab的同学阅读。 一、基础介绍 1.1界面认识 1.2变量命名 注#xff1a;Matlab中的注释 %% 独占一行的注释#xff08;有上下横线分割#xff09; % 普通注释 …MATLAB软件版本MATLAB R2016b 本文是博主从零开始学Matlab的记录适合第一次接触Matlab的同学阅读。 一、基础介绍 1.1界面认识 1.2变量命名 注Matlab中的注释 %% 独占一行的注释有上下横线分割 % 普通注释 1清空环境变量及命令 clear all 清除Workspace中的所有变量右侧工作区 clc 清除Command Window中的所有命令命令行窗口 2变量命名规则 ①变量名区分大小写 ②变量名长度不超过63位 ③变量名以字母开头可以由字母、数字和下划线组成但不能使用标点 1.3数据类型 1数字 2 4 10 - 7 3 * 5 8 / 2 2字符与字符串 s ‘a’ 单引号表示字符串 abs(s)ASCII码 char(97) 输出 a ASCII码转字符串 num2str(65) 输出数字65 str‘I love MATLAB Machine Learning’ length(str) 字符串长度 doc num2str 3矩阵Matlab最NB的东西 A [1 2 3; 4 5 2; 3 2 7] B A’ 把A进行转置行变列列变行 C A( 竖向拉长按列输出矩阵 D inv(A) 逆矩阵必须时方阵才能求逆矩阵 执行下面两条语句 D inv(A) 求逆矩阵 A * D 相当于A×A的逆 E zeros(10,5,3) 创建一个10行5列3维的全0矩阵 E(:,:,1) rand(10,5) rand生成均匀分布的伪随机数。分布在0~1之间 主要语法rand(m,n)生成m行n列的均匀分布的伪随机数 rand(m,n,‘double’)生成指定精度的均匀分布的伪随机数参数还可以是’single’ rand(RandStream,m,n)利用指定的RandStream随机种子生成伪随机数 E(:,:,2) randi(5,10,5) randi生成均匀分布的伪随机数 主要语法randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机数 randi(iMax,m,n)在开区间(0,iMax)生成mXn型随机矩阵 r randi([iMin,iMax],m,n)在开区间(iMiniMax)生成mXn型随机矩阵 E(:,:,3) randn(10,5) randn生成标准正态分布的伪随机数均值为0方差为1 主要语法和上面一样 4)元胞数组和结构体 在MATLAB中元胞数组和结构体是两种不同的数据类型可以用来存储和组织不同类型的数据。 元胞数组cell array是一种特殊的数组可以存储不同类型的数据。元胞数组的每个元素可以是任何类型的数据包括数字、字符串、矩阵、函数句柄等。元胞数组使用大括号{}来索引和操作元素。 例如创建一个包含不同类型数据的元胞数组 cellArray {1, hello, [1 2 3], sin}; %元胞数组 A cell(1,6) A{2} eye(3) %2021版本前的matlab下标从1开始 A{5} magic(5) B A{5} 注magic字面意思是魔方魔术的意思。在MATLAB中用来生成n阶幻方。比如三阶幻方就是1-9九个数字组成一个3*3的矩阵使得该矩阵无论横、竖还是斜三个方向上的三个数的和总是相同的。幻方是一个很古老的问题试一下就知道了 结构体structure是一种可以存储不同类型数据的数据结构。结构体的每个成员可以有不同的名称并且每个成员可以是任何类型的数据。结构体使用点操作符.来访问和操作成员。 例如创建一个包含不同类型数据的结构体 structure.field1 1;structure.field2 hello; structure.field3 [1 2 3]; structure.field4 sin; %结构体 books struct(name,{{Machine Learning,Data Mining}},price,[30,40]) books.name %属性 books.name(1) books.name{1} 元胞数组和结构体在某些情况下可以互相转换。使用函数cell2struct可以将元胞数组转换为结构体使用函数struct2cell可以将结构体转换为元胞数组。 % 元胞数组转换为结构体 cellArray {1, hello, [1 2 3], sin};structure cell2struct(cellArray, {field1, field2, field3, field4});% 结构体转换为元胞数组 structure.field1 1;structure.field2 hello; structure.field3 [1 2 3];structure.field4 sin;cellArray struct2cell(structure); 1.4.内置常量 eps % 计算机的最小数pi % 圆周率i % 虚数单位表示√(-1)j % 虚数单位表示√(-1)1.5查看已有的变量信息 who您的变量为:ans t whosName Size Bytes Class Attributesans 1x1 8 double t 1x3 24 double size(t) // 列出n,mans 1 3 length(t) // 列出max(n,m)ans 3二、矩阵操作 2.1矩阵的定义与构造 A [1,2,3,4,5,6,5,4,6] B 1:2:9 %第二个参数为步长不可缺省 B 1:3:9 C repmat(B,3,2) %重复执行3行2列 D ones(2,4) %生成一个2行4列的全1矩阵 在MATLAB中可以使用不同的方法构造矩阵。 使用方括号[]构造矩阵 A [1,2,3,4,5,6,5,4,6]; 使用冒号运算符构造向量 B 1:2:9; % 步长为2生成1到9的向量 B 1:3:9; % 步长为3生成1到9的向量 使用repmat函数复制矩阵 B 1:3:9; % 步长为3生成1到9的向量 C repmat(B,3,2); % 重复执行3行2列生成一个3行6列的矩阵 使用ones函数生成全1矩阵 D ones(2,4); % 生成一个2行4列的全1矩阵 以上代码示例中A是一个1行9列的矩阵B是一个1行5列的向量C是一个3行6列的矩阵D是一个2行4列的全1矩阵。 补充行向量 在MATLAB中可以使用 linspace(a, b, n) 函数来生成一个从 a 到 b 的等间距向量其中 n 是向量的长度。下面是将这两个表达式转化为 MATLAB 代码的示例 t1 linspace(1, 2, 3); % 生成一个长度为 3 的向量 t1元素在 1 和 2 之间等间距分布 t2 linspace(1, 2, 3); % 生成一个长度为 3 的向量 t2元素在 1 和 2 之间等间距分布执行这些代码将会生成两个向量 t1 和 t2它们的元素分别为 [1, 1.5, 2] 和 [1, 1.5, 2]。 在MATLAB中可以使用 logspace(a, b, n) 函数来生成一个从 10^a 到 10^b 的对数间隔向量其中 n 是向量的长度。下面是将这个表达式转化为 MATLAB 代码的示例 t logspace(1, 2, 2); % 生成一个长度为 2 的对数间隔向量 t元素在 10^1 和 10^2 之间执行这个代码将会生成一个向量 t它的元素为 [10, 100]。这意味着 t 的第一个元素是 10第二个元素是 100。 补充特殊矩阵 eye(3) // 单位矩阵ans 1 0 00 1 00 0 1 eye(3,4)ans 1 0 0 00 1 0 00 0 1 0 ones(2) // 全为1的矩阵ans 1 11 1 ones(2,3)ans 1 1 11 1 1 zeros(2) // 全为0的矩阵ans 0 00 0 zeros(2,3)ans 0 0 00 0 0 diag([1,2,3]) // 产生对角矩阵ans 1 0 00 2 00 0 3 rand(2) // 创建随机矩阵服从均匀分布ans 0.2785 0.95750.5469 0.9649 rand(2,1) ans 0.15760.9706 randn(2) // 创建随机矩阵服从正态分布ans 0.5377 -2.25881.8339 0.8622 randn(2,1)ans 0.3188-1.3077 randperm(5) // 产生随机排列ans 5 3 1 2 42.2矩阵的四则运算 A [1 2 3 4; 5 6 7 8] B [1 1 2 2; 2 2 1 1] C A B D A - B E A * B F A .* B % .*表示对应项相乘 G A / B %相当于A*B的逆 G*B A G*B*pinv(B) A*pinv(B) G A*pinv(B),相当于A乘B H A ./ B % ./表示对应项相除 在MATLAB中可以使用四则运算对矩阵进行操作。 给定两个矩阵A和B A [1 2 3 4; 5 6 7 8]; B [1 1 2 2; 2 2 1 1]; 可以进行以下运算 矩阵加法 C A B; 结果C为两个矩阵对应元素相加得到的矩阵 C [2 3 5 6; 7 8 8 9]; 矩阵减法 D A - B; 结果D为两个矩阵对应元素相减得到的矩阵 D [0 1 1 2; 3 4 6 7]; 矩阵乘法 E A * B; 结果E为矩阵A乘以矩阵B的转置得到的矩阵 E [13 9; 29 21]; 对应项相乘 F A .* B; 结果F为两个矩阵对应元素相乘得到的矩阵 F [1 2 6 8; 10 12 7 8]; 对应项相除 H A ./ B; 结果H为两个矩阵对应元素相除得到的矩阵 H [1 2 1.5 2; 2.5 3 7 8]; 矩阵除法相当于乘以逆矩阵 G A / B; 结果G为矩阵A乘以矩阵B的逆矩阵 G [0.5 0.5; 1.5 1.5]; 以上是常见的矩阵四则运算操作。请注意矩阵乘法和矩阵除法的定义与数学中的矩阵乘法和矩阵除法略有不同需要根据具体的应用场景进行理解和使用。 2.3矩阵的下标 A magic(5) B A(2,3) C A(3,:) % :为取全部,那么这条语句表示取第三行 D A(:,4) %取第四列 [m,n] find(A 20) %找到大于20的序号值/矩阵 %取的是索引值 E A(2:3,1:2) // 取出第2行到第3行第1列到第2列的所有元素 2.4 删除矩阵的整行或整列 A [1, 2; 3, 4];AA(:, 1) []; % 删去第一列即把第一列变成空矩阵[]B [4, 5; 6, 7];BB(1, :) []; % 删去第一行B在这段代码中首先定义了矩阵A和B。然后通过将A的第一列设置为空矩阵[]来删除了A的第一列。接着通过将B的第一行设置为空矩阵[]来删除了B的第一行。 2.5合并矩阵 A [1, 2, 3];B [4, 5, 6];C [A, B]; % 按行合并矩阵C [A; B]; % 按列合并矩阵执行这些代码将会生成矩阵C它分别按行和按列合并了矩阵A和B的元素 2.6矩阵的重塑、旋转 重塑 A[1,2,3;4,5,6]A 1 2 34 5 6 reshape(A,3,2) // 按列顺序重塑矩阵A为3*2ans 1 54 32 6旋转 AA 1 2 34 5 6 rot90(A)ans 3 62 51 4三、程序结构 3.1顺序结构 在MATLAB中顺序结构是指程序按照代码的顺序依次执行。简单来说就是从上到下依次执行每一行代码。 例如下面是一个简单的MATLAB程序展示了顺序结构的应用 a 5; b 10;c a b; d a - b;disp(c); disp(d);在这个程序中首先定义了变量a和b并分别赋值为5和10。然后通过a b计算出变量c的值通过a - b计算出变量d的值。最后使用disp函数将c和d的值打印出来。 按照顺序结构的原则程序将依次执行每一行代码输出结果为 15 -53.2循环结构 在MATLAB中循环结构是用来重复执行一段代码的结构。MATLAB提供了两种常用的循环结构for循环和while循环。 for循环for循环用于指定一个变量的起始值、终止值和步长并在每次循环中递增或递减这个变量的值。for循环的语法如下 for 变量 起始值:步长:终止值循环体代码 end例如下面的代码展示了使用for循环计算1到10的累加和 sum 0; for i 1:10sum sum i; enddisp(sum);在这个例子中for循环从1到10依次取值给变量i每次循环将i加到sum上。最后使用disp函数将sum的值打印出来。 while循环while循环用于在满足某个条件的情况下重复执行一段代码直到条件不满足为止。while循环的语法如下 while 条件循环体代码 end例如下面的代码展示了使用while循环计算1到10的累加和 sum 0; i 1; while i 10sum sum i;i i 1; enddisp(sum);在这个例子中while循环在i小于等于10的条件下执行循环体代码每次循环将i加到sum上并将i递增1。当i大于10时条件不再满足循环结束。最后使用disp函数将sum的值打印出来。 3.3分支结构 在MATLAB中分支结构用于根据条件的真假执行不同的代码块。MATLAB提供了if语句和switch语句两种常用的分支结构。 if语句if语句根据条件的真假执行不同的代码块。if语句的语法如下 if 条件代码块1 elseif 条件代码块2 else代码块3 end其中条件可以是一个表达式如果条件为真则执行代码块1如果条件为假但满足第二个条件则执行代码块2如果条件都不满足则执行代码块3。 例如下面的代码展示了使用if语句判断一个数的正负性 num -5;if num 0disp(正数); elseif num 0disp(负数); elsedisp(零); end在这个例子中根据num的值if语句会判断num的正负性并输出相应的结果。 switch语句switch语句根据表达式的值执行不同的代码块。switch语句的语法如下 switch 表达式case 值1代码块1case 值2代码块2otherwise代码块3 end其中表达式的值会逐个与每个case后面的值进行比较如果匹配成功则执行相应的代码块。如果没有匹配成功的case则执行otherwise后面的代码块。 例如下面的代码展示了使用switch语句根据星期几输出相应的信息 day 3;switch daycase 1disp(星期一);case 2disp(星期二);case 3disp(星期三);case 4disp(星期四);case 5disp(星期五);otherwisedisp(周末); end在这个例子中根据day的值switch语句会匹配相应的case并输出相应的信息。 3.4分号 在MATLAB中分号;的主要含义是用于分隔语句或抑制输出。 分隔语句分号用于分隔多个语句。当你在一行中写多个语句时可以使用分号将它们分隔开。这样可以使代码更简洁易于阅读。 例如下面的代码将两个语句放在一行中并使用分号分隔它们 a 2; b 3;抑制输出在MATLAB中每当执行一个语句时结果会自动显示在命令窗口中。但是如果在语句的末尾加上分号就可以抑制输出。这在执行大量计算或不需要显示结果的情况下很有用。 例如下面的代码计算两个数的和但是只将结果存储在变量中而不在命令窗口中显示 a 2; b 3; c a b;在这个例子中c的值是5但是由于语句末尾加上了分号所以不会在命令窗口中显示出来。 需要注意的是分号只能用于抑制当前语句的输出对于其他语句的输出没有影响。如果你希望在代码中的多个位置都抑制输出需要在每个语句的末尾都加上分号。 3.5输入输出 输入 sinput(please input a string: ,s);输出 x rand(1, 3);fprintf(x%.3f\n, x); % 输出x的所有元素保留3位小数fprintf(x%.3f\n, x(2)); % 输出x[2]可省略第1行的行下标fprintf(x%.3f\n, x(1, 2)); % 输出x[1][2]y [1, 2; 3, 4];fprintf(y%.3f\n, y(:)); % 按列输出y的所有元素fprintf(y%.3f\n, y(2, 1)); % 输出y[2][1]fprintf(y%.3f\n, y(1)); % 输出y[1][1]可省略第1列的列下标fprintf(y%.3f\n, y(2)); % 输出y[2][1]可省略第1列的列下标3.6函数 编写函数存于文件ave.m中代码如下 % You can get the average of a vector. % Just input ave; to run this function. function y ave(x) x input(input a vector x); [m,n] size(x); if ~(m1|n1)error(please input a vector which is m1 or n1) end y sum(x)/length(x); fprintf(y%.2f\n,y);四、基本绘图操作 4.1二维平面绘图 % 初始化 clear; clc;% 将图片的字体等格式设置成latex样式方便输入公式 set(0,defaulttextinterpreter,latex); set(0,defaultAxesTickLabelInterpreter,latex); set(0,defaultLegendInterpreter,latex);set(groot,defaultLineLineWidth,2); % 更改默认线宽%% 产生x,y数据 xlinspace(0,2*pi,20); y{1}sin(x); y{2}cos(x); y{3}x; y{4}exp(sin(x));%% 绘制图1 figure(1); plot(x,y{1},--ro,... % --虚线 r红色 o圆圈标记x,y{2},:k^,... % :点组成的线 k黑色 ^三角形标记x,y{3},-.,... % -.线如-.x,y{4}); xlabel(x轴); ylabel(y轴); title(例图); % legend显示图中曲线对应的公式在坐标区上添加图例 legend($ysin(x)$,$ycos(x)$,$yx$,$ye^{sin(x)}$,Location,best); xlim([0,2*pi]); % 设置x轴范围 print(C:\Users\LJW\Desktop\example1,-dpng); % 保存为png格式图片到桌面路径 %% 绘制图2 figure(2);subplot(2,2,1); % 分成2*2四个子图开始画第一个子图 plot(x,y{1},--); title($ysin(x)$);subplot(2,2,2); % 分成2*2四个子图开始画第二个子图 plot(x,y{2},:); title($ycos(x)$);subplot(2,2,[3,4]); % 第3,4个子图合并写成[3,4] plot(x,y{3},:,x,y{4}); % 2个子图合并 legend($yx$,$ye^{sin(x)}$,Location,best); xlim([0,2*pi]); % 设置x轴范围print(C:\Users\LJW\Desktop\example2,-dpng); % 保存为png格式图片到桌面路径 x 0:0.01:20; y1 200*exp(-0.05*x).*sin(x); y2 0.8*exp(-0.5*x).*sin(10*x); figure [AX,H1,H2] plotyy(x,y1,x,y2,plot); %共用一个x的坐标系在y上有不同的取值 %设置相应的标签 set(get(AX(1),Ylabel),String,Slow Decay) set(get(AX(2),Ylabel),String,Fast Decay) xlabel(Time(\musec)) title(Multiple Decay Rates) set(H1,LineStyle,--) set(H2,LineStyle,:) 4.2三维立体绘图 %2.三维立体绘图 t 0: pi/50: 10*pi; plot3(sin(t),cos(t),t) xlabel(sin(t)) ylabel(cos(t)) zlabel(t) %hold on %hold off %不保留当前操作 grid on %把图片绘制出来在图片中加一些网格线 axis square %使整个图连同坐标系呈方体 4.3图形的保存与导出  如果直接用截图的方式截取matlab生成的图像会影响图像的清晰度。因此我们建议可以用如下方法保存与导出图形。 1如图 2编辑→复制选项 可调节相应元素 3编辑→图窗属性 4文件→导出设置 通过调节宽度、高度等像素值属性可以让图片即使很小文字依然清晰。  五、读取文件 5.1Excel文件 使用 xlsread 函数来读取Excel文件中的数据。这个函数可以接受文件名、工作表名和单元格范围作为输入参数并返回数值数据、文本数据和原始数据作为输出参数。例如读取文件 myExample.xlsx 中的第一个工作表的 A1:C3 范围内的数据 [num,txt,raw] xlsread(myExample.xlsx,Sheet1,A1:C3);使用 readtable 函数来读取Excel文件中的表格数据。这个函数可以将Excel文件中的一个或多个工作表导入为一个或多个表格变量。例如读取文件 myExample.xlsx 中的第二个工作表的所有数据 T readtable(myExample.xlsx,Sheet,2);将Matlab中的数据写入Excel文件中可以使用 xlswrite 函数或 writetable 函数。这些函数可以将矩阵、元胞数组或表格变量写入Excel文件中的指定工作表和单元格范围。例如如果您想将矩阵 A 写入文件 myExample.xlsx 中的第三个工作表的 B2:D6 范围内可以使用以下代码 A rand(5,3); % 创建一个5行3列的随机矩阵 xlswrite(myExample.xlsx,A,Sheet3,B2:D6);5.2csv文件 使用 csvread 函数来读取只包含数值的CSV文件。这个函数可以接受文件名、起始行列和读取范围作为输入参数并返回一个矩阵作为输出参数。例如读取文件 myData.csv 中的第一行第二列开始的所有数据 M csvread(myData.csv,0,1);使用 textscan 函数来读取包含文本和数值的CSV文件。这个函数可以接受一个已打开的文件标识符、一个格式说明符和其他可选参数并返回一个元胞数组作为输出参数。例如读取文件 myInfo.csv 中的第一列是字符串第二列是整数第三列是浮点数的数据 fid fopen(myInfo.csv); C textscan(fid,%s%d%f,Delimiter,,,HeaderLines,1); fclose(fid);使用 readmatrix 函数来读取包含表格数据的CSV文件。这个函数可以根据文件的扩展名自动判断文件格式并返回一个矩阵或一个表作为输出参数。可以指定输出类型和其他可选参数来控制导入过程。例如想读取文件 myTable.csv 中的所有数据并将字符串类型的数据转换为缺失值 A readmatrix(myTable.csv,OutputType,double,TreatAsMissing,NA);
http://www.huolong8.cn/news/155474/

相关文章:

  • 网站建设竞标需要怎么做当当网站建设优点
  • 帮别人做网站后期维护东莞建站
  • 直播网站开发核心技术丽水专业网站制作公司
  • 网站站内优化怎么做网上做设计的网站
  • 白云微网站建设二级建造师注册查询
  • 免费网站添加站长统计wordpress nginx cos html cache
  • 松北建设局网站爱疯卷网站怎么做
  • 做婚介网站可行性报告软文案例
  • 网站建设公司选择标准高端品牌男鞋
  • 织梦网站怎么安装isp网站接入做哪些业务
  • 网站设计实训心得体会城乡建设部官方网站
  • 网站备案导致网站被k网站建设的卷子
  • 品牌网站建设小i蝌蚪东营造价信息网官网
  • 西安网站建设易网宣重点专业建设网站 建设方案
  • 优酷视频接到网站怎么做网页在线编辑
  • 外管局网站做延期收汇报告wordpress文章末尾添加版权声明
  • 注册一个做网站的公司好网站建设 鄂icp备
  • 2017淘宝客网站怎么做服装厂家
  • 网站建设信息发布平台谷歌做英文网站
  • 温州网站优化定制小红书seo是什么意思
  • 1688黄页网用广州seo推广获精准访问量
  • 兰州市网站建设公司网站建设公司优惠大酬宾活动
  • 网站空间哪里便宜开发直播平台
  • 张家口企业网站建设站长平台工具
  • 阿里云个人网站建设方案书建设派网站
  • 网站排版南京h5 网站建设
  • 学做网站论坛视频下载手机网络
  • 网站备案登录中英网站的设计
  • 做分销商城网站的升级不了wordpress
  • 个人博客网站制作搭建网站建设小公司生存