MATLAB程序设计基础(三)

简介: MATLAB程序设计基础(三)

1、实验目的:

1)熟悉MATLAB程序编辑与设计环境;

2)掌握各种编程语言语法规则及程序设计方法;

3)熟悉函数文件的编写与设计;

4)了解和熟悉跨空间变量传递和赋值。


实验要求:

1)实验前,要认真预习实验任务,了解实验目的和实验内容;

2)实验时,每题要编写程序代码形成独立的M文件,并调试程序使其能正确运行;

3)实验后,按要求编写实验报告,源程序要有适当的注释,以提高程序的可读性。

2、实验内容

2-1)、编写脚本M文件,实现对下图矩阵指定区域的访问。要求将原矩阵赋给变量A,绿色区域矩阵为B,粉色区域矩阵为C,黄色区域矩阵为D。

9bec2ac0e9490a978604aa37c1e2dca1_1534444879fb49459be121ba72f36620.png

1. A = [4 10 1 6 2; 8 2 9 4 7;7 5 7 1 5; 0 3 4 5 8];
2. B = A(5)
3. C = A([2:4],[2 3])
4. D = A(:,end)

adc3b2a8333c7786844f7c57f7306c2e_245764ec1d674bfe91bc914ed9233d0e.png

新建一个M函数文件,输入函数表达式,代码如下:

1. function y = func(x)
2. % 求解表达式
3. % 注意:x是矩阵,所以用 点乘 点除 点乘方!!!!!!
4. y = 1 ./ ( (x-2).^2 + 0.1 ) + 1 ./ ( (x-3).^4 + 0.01 );
5. 
6. end

命令文件中调用如下代码

1. x = rand(2, 2)
2. a = func(x)

效果如下:

8e7aa0d10d21f83aba2e1e946cf9e17b_6445931bef5b4c0aa0b2850ca2dcbbbd.png


2-3)、编写求向量均值和中值的程序,并求出向量A=[1,2,3,4,5,6,7,8,9,10]的均值和中值。

编写M函数文件

1. function [average, med] = junzhizhongzhi(u) %主函数
2. %junzhizhongzhi使用内部函数求均值和中值
3. n = length(u);   %长度
4. average = mean(u, n);   %平均值
5. med = median(u, n);     %中值
6. 
7. function a = mean(v,n)      %子函数,计算均值
8.     a = sum(v) / n;
9. function m = median(v, n)   %子函数,计算中值
10.     w = sort(v);            %sort函数:按升序或降序对数组元素排序
11.     if rem(n,2)==1          %rem函数 :求除法的后余数
12.         m = w((n+1)/2);
13.     else
14.         m = (w(n/2)+w(n/2+1))/2;
15. end

调用函数

1. A=[1,2,3,4,5,6,7,8,9,10];
2. [zhongzhi, junzhi__] = junzhizhongzhi(A)    %[均值, 中值]

运行结果如下:

36e5cf5b7cde78ce34f8f23713566e45_0045346b0e5543a6b8009f955ad3db4a.png


2-4)、已知一作匀速直线运动的物体的初速度v0,加速度a,求任意时刻t的速度和位移。要求构建函数f,并在命令窗口调用该函数求在v0=2、a=4、t=5时,物体的速度和移动的距离。

注:速度公式 v = v0+at  ,   位移公式 x = v0*t+1/2*a*t*t

代码如下:

1. function [v, x] = V_S(v0, a, t)
2. %构建函数f,输入初速度V0,加速度a,任意时刻t,求解速度和位移
3. v = v0 + a*t;
4. x = v0*t + 1/2*a*t*t;
5. end
[v,x] = V_S(2, 4, 5)    %调用函数

2bf44ccb3966f427853fdd070fc5f352_16e29934e7a64e088db44194bb96092d.png

4ebcbca28cd38f296787ad9b3e96d8e0_9f97c1d9ac154db180d597c3c21a8f8c.gif


相关文章
|
C语言
MATLAB结构化程序设计(四)
MATLAB结构化程序设计(四)
123 0
二样本感知器的matlab程序设计
二样本感知器的matlab程序设计
104 0
|
数据安全/隐私保护
【Matlab作业】MATLAB程序设计
【Matlab作业】MATLAB程序设计
|
C语言
MATLAB程序设计
MATLAB有两种工作方式: 交互式的命令行工作方式 M文件的程序工作方式 用MATLAB语言编写的程序,称为M文件。 M文件有两类:命令文件(Script M-file)和                          函数文件(Function M-file).命令文件与函数文件的区别:1.命令文件没有输入参数,也不返回输出   参数;函数文件可以输入参数,也可返   回若干输出参数。
945 0
|
4月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
232 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
4月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
143 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
4月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
111 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
7月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度

热门文章

最新文章