《数学建模与数学实验》第5版 作图 习题2.6


参考教材:《数学建模与教学实验》第5版
提示:以下是本篇文章正文内容,来自参考教材课后习题。

1.编写m文件

(1)用起泡法对10个数由小到大排序. 即将相邻两个数比较,将小的调到前头.

建立qipao函数:

function y = qipao(x)
n = length(x);%求数组个数
%气泡排序
for a = 1:n
    for b = 1:n-a
    if(x(b)>x(b+1))
        c = x(b);
        x(b) = x(b+1);
        x(b+1) = c;
    end
    end
end
y = x
        

测试:
在这里插入图片描述

(2)有一个4x5矩阵,编程求出其最大值及其所处的位置.

建立 max1函数:


function max1(x)
[a,b] = max(x);%求出矩阵每列的最大值a和最大值的行数b
[c,d] = max(a);%求出矩阵最大值c与最大值列下标d
b(d);%最大值行下标
disp(['最大值:',num2str(c)]);
disp(['位于:',num2str(b(d)),'行',num2str(d),'列']);
end

测试:
在这里插入图片描述

(3)编程求 ∑ n = 1 20 n ! \displaystyle\sum_{n=1}^{20} n! n=120n!

建立jiec函数:

function f = jiec(n)
sum = 0;

for i = 1:n
    p = 1;
    j = 1;
    for j = 1:i
        p = p * j;
        j = j - 1;
    end
    sum = sum + p;
    i = i + 1;
end
f = sum;
end

测试:
在这里插入图片描述

(4)一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下. 求它在第10次落地时,共经过多少米?第10次反弹有多高?

建立fantanh函数:

function [s,h] = fantanh(n)
z = 100;
s = 100;
for i = 1:n
    z = z/2;
    s = s + 2*z;
end
h = z/2

测试:
在这里插入图片描述

(5)有一函数f(x,y)=x2+sin(xy)+2y,写一程序,输入自变量的值,输出函数值.

建立fun函数:

function y = fun(x,y)
y = x.^2 + sin(x*y) + 2*y;

测试:
在这里插入图片描述

2. 用plot、fplot绘制函数y=cos(tan(πx))图形.

%% plot fplot
x = linspace(0,2*pi);
y = cos(tan(pi*x));
subplot(1,2,1);plot(x,y);title('plot')
subplot(1,2,2);fplot(@(x) cos(tan(pi.*x)),[0,2*pi]);title('fplot')

在这里插入图片描述

3.用ezplot绘制函数 e x y e^{xy} exy-sin(x+y)=0在[-3,3]上图形.

ezplot('exp(x*y)-sin(x + y)',[-3,3,-3,3])

在这里插入图片描述

4. 用ezplot绘制摆线 f ( x ) = { x = t − sin ⁡ ( t ) y = 1 − cos ⁡ ( t ) f(x)=\left\{\begin{aligned}x & = &t- \sin(t) \\y & = & 1-\cos(t) \end{aligned}\right. f(x)={xy==tsin(t)1cos(t)

ezplot('t-sin(t)','1-cos(t)',[0,2*pi])

在这里插入图片描述

5. 用surf、mesh绘制曲面z= 2 x 2 + y 2 2x^2+y^2 2x2+y2.

%% surf.mesh
x = -3:0.1:3;
y = -3:0.1:3;
[X,Y] = meshgrid(x,y);
Z = 2 * X^2 + Y^2;
subplot(1,2,1);surf(X,Y,Z);title('surf')
subplot(1,2,2);mesh(X,Y,Z);title('mesh')

在这里插入图片描述

6. 用polarplot绘制阿基米德线r = a θ a\theta aθ和三叶玫瑰线r= a c o s 3 θ acos3\theta acos3θ.

%% polar 
%阿基米德线
a = 50;
theta = 0:0.1:2*pi;
rho1 = a * theta;
polarplot(theta,rho1)

%三叶玫瑰线
rho2 = a * cos(3 * theta);
x = -3:0.1:3;
y = -3:0.1:3;
[X,Y] = meshgrid(x,y);
Z = 2 * X^2 + Y^2;
subplot(1,2,1);polarplot(theta,rho1);title('阿基米德线')
subplot(1,2,2);polarplot(theta,rho2);title('三叶玫瑰线')

在这里插入图片描述

7. 在同一平面的两个窗口中分别画出心形线和马鞍面

要求:在图形上加格栅、图例和标注;定制坐标;以不同的角度观察马鞍面。

%心形
a=0.01
t=0:0.01:2*pi;
x1=a.*(2.*cos(t)-cos(2*t));
y1=a.*(2.*sin(t)-sin(2*t));
%马鞍面
x = linspace(-10,10);
y = linspace(-10,10);
[X,Y] = meshgrid(x,y);%生成网格
Z = X.^2 - Y.^2;
subplot(1,2,1);plot(x1,y1);title('心型图');
subplot(1,2,2);mesh(X,Y,Z);title('马鞍面');

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值