数学建模matlab作业

更新时间:2023-09-20 18:02:01 阅读量: 医药卫生 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数统 应数 20121323003 王妍 数统 应数 20121323022 胡可旺

1 生成5阶矩阵,使其元素满足均值为1,方差为4的正态分布; 代码:y=1+sqrt(4)*randn(5) 结果:

2,生成一个20行5列矩阵A,其元素分别以概率0.7、0.1、0.2取自0、1、4这三个整数, 然后将“删除A的全零行”之后的结果赋给矩阵B; for i = 1:20 for j = 1:5

p = rand(); if p<=0.7

A(i,j) = 0;

elseif p>0.7&&p<=0.8 A(i,j) = 1; else

A(i,j) = 4; end end end B = []; for i = 1:20 flag = true; for j = 1:5

if A(i,j)~=0 flag=false; break; end end if ~flag

B = [B;A(i,:)]; end end B

3, (函数文件)对于输入的正整数,判断其是否为素数 function [ output_args ] = u3( n ) %U3 Summary of this function goes here % Detailed explanation goes here y=1;

for i=2:1:sqrt(n) if rem(n,i)==0 y=0; break end end

if(y==1)

fprintf('是素数') else

fprintf('不是素数') end

4,(函数文件)对于输入的正整数,求出其中0的个数; function [ i ] = u4( n )

%U4 Summary of this function goes here % Detailed explanation goes here i=0;

while n/10~=0

if rem(n,10)==0 i=i+1; end

n=fix(n/10); end

5,(函数文件)有n个人围成一圈,按序列编号。从第一个人开始报数,数到m时该人退出,

并且下一个从1开始重新报数,那么最后剩下的那个人的原始编号为多少?(n>m,例如n=20,m=7

function [ x ] = u5( n,m )

%U5 Summary of this function goes here % Detailed explanation goes here x=1:n;

y=zeros(1,n-m+1); t=0;

p=size(x,2);

s=fix(p/m); while s>0 j=1;

while j<=s

y(t+j)=x(m*j); j=j+1; end

x([m:m:m*s])=[]; if m*s

x=x([((m-1)*s+1):(p-s),1:((m-1)*s)]); end t=t+s;

p=size(x,2); s=fix(p/m); end

6, 对曲线 | x^2+y^2+z^2=4

| x+y+z=1 作图,并修饰

ezplot('x^2+y^2+(1-x-y)^2-4',[-2,2,-2,2])

曲面作图:z=x^2+y^2+sin(xy),定义域自拟; x=0:100;y=0:100;

[x,y]=meshgrid(x,y); z=x.^2+y.^2+sin(x.*y); plot3(x,y,z)

8,函数f(x)定义为如下的行列式: | x x^2 x^3 | | 1 2x 3x^2 | | 0 2 6x |

求f(x)在x=1处的数值导数,并画图比较数值导数与真实导函数之间的差别 syms x; A=[

x x^2 x^3 ; 1 2*x 3*x^2; 0 2 6*x ]; B=det(A); y=diff(B,x) subs(y,1) lims=[-5,5];

fplot('y',lims); hold on;

fplot('6*x^2',lims)

160140120100806040200-20-5-4-3-2-1012345

9,当x取值pi/6,2pi/6,...,5pi/6 时, 求 ( sin(x) )^2 + ( cos(2x) )^2的数值导数和数值二阶导数; syms x;

A=sin(x).^2+cos(2*x).^2; x=pi/6:pi/6:5*pi/6; subs(diff(A),x)

subs((diff(A,2)),x)

10,已知整数1,2,...,10的平方根,请用三次样条插值估算2.3的平方根 N=1:1:10; M=sqrt(N);

Y=interp1(N,M,2.3,'spline')

11, 某一过程测量得:

x:1.2000 1.4000 1.6000 1.8000 2.0000 2.2000 2.4000 2.6000 y:2.9462 3.4094 3.8090 4.1643 4.4794 4.7654 5.0254 5.2668 请用函数y=a+b*log5(x)对此进行曲线拟合;

x=[1.2000,1.4000,1.6000,1.8000,2.0000,2.2000,2.4000,2.6000]; y=[2.9462,3.4094,3.8090,4.1643,4.4794,4.7654,5.0254,5.2668]; fun1=@(c,x) c(2).*log(x)./log(5)+c(1); b=lsqcurvefit(fun1,[1,1],x,y); plot(x,y,'+',x,fun1(b,x))

12,线性规划(linprog):某工厂生产甲、乙、丙三种产品,单位产品所需工时分别为2、3、1个工时;

单位产品所需原材料分别为3、1、5公斤;单位产品利润分别为2元、3元、5元。 工厂每天可利用的工时为12个,可供应的原材料为15公斤。 试确定使总利润为最大的日生产计划和最大利润 f=[-2,-3,-5];

a=[2,3,1;3,1,5];b=[12;15];

[x,y]=linprog(f,a,b,[],[],[0,0,0]);%linprog是求min的 x=x z=-y

本文来源:https://www.bwwdw.com/article/sv7h.html

Top