Matlab(大一数学实验)Ⅱ
Matlab(大一数学实验)Ⅱ

Matlab(大一数学实验)Ⅱ

所以大家记得改,由于学号决定答案,故不再给出答案

*如果需要源文件可以到前文下载

function p=dd(n,x)
syms m;
m=[0,0;0,0]
     m(1,:)=randi([1,x],[1,2]);
     m(2,:)=randi([1,x],[1,2]);
for i=3:n
      m(i,1)=m(i-1,1)+m(i-2,1);
       m(i,2)=m(i-1,2)+m(i-2,2)
end
end
function l=dd(a)
if a<=1/2
    l=2*a;
else l=2*(1-a);
end

下面为7.2,电子版已删除

 function l=dd(a)
syms k;
hold on;
grid on;
k=2;
if a>=(pi/4)
    l=1;
elseif  a>(-4/pi)
    l=atan(a)^k;
else l=-1;
end


syms x;
fplot('dd(x)',[-4,4])
function p=dd(m)
syms t;
t=-m/10:0.01:m/10;
plot3(m*cos(t)/20,m*sin(t)/20,t)

dd(522)
function p=dd(m)
syms t;
t=-m/10:0.01:m/10;
plot3(cos(t)+t.*sin(t),sin(t)-t.*cos(t),-t)

dd(522)
syms x y m
m=522;
ezplot(sin(x^2+m*y^2/1000)==cos(x*y),[-10,10])
function p=dd(f,x,n,m)
p=[x];
for i=2:n
    p(i)=f(p(i-1));
end
end

function p=dd(f,x,n,m)
p=[x]
for i=2:n
    p(i)=f(p(i-1));
end	
end

syms m
 m=522;
x= sym(dd(@(x)(x+m/x)/2,3,20,m));           % dd(@(x)(x+m/x)/2,-3,20,m)
fprintf('%.8f\n',x(20))
function mp=map(f,c)
x=[];
y=[];
x(1)=c;
y(1)=0;
x(2)=x(1);
y(2)=f(x(1));
for i=1:100
    x(1+2*i)=y(2*i);
    x(2+2*i)=x(1+2*i);
    y(1+2*i)=x(1+2*i);
    y(2+2*i)=f(x(2+2*i));
end
plot(x,y,'r');
hold on;
syms x;
ezplot(x,[-1200,500]);
ezplot(f(x),[-1200,1200]);
axis([0,20,0,20]);


syms m
m=522; 
x1=-1200:1:-550;
x2=-450:1:500;
map(@(x)(x+m^2)/(x+m),200)   
% 另外一种蛛网图 map(@(x)(x+m^2)/(x+m),200)



此分段函数可化为 1-abs(ax-1)
function p=dd(f,x,n,m)
p=[x]
for i=2:n
    p(i)=f(p(i-1));
end	
end

function fcc=fc(ax)
fcc=1-abs(ax-1);
end

syms m
 m=522;
for i=0:0.1:2
 x=dd(@(x)fc(x),i,20,m);
x(20)
end
hold on;
grid on;
f=inline('2.8*x*(1-x)');%替换为四种α
x0=0.5;
for i=1:0.1:10
plot(i,f(x0),'.')
x0=f(x0);
end
function mar=mart(a,b,c,N)
f=@(x,y)(y-sign(x)*sqrt(abs(b*x-c)));
g=@(x)(a-x);
m=[0;0];
for n=1:N
    m(:,n+1)=[f(m(1,n),m(2,n)),g(m(1,n))];
end
plot(m(1,:),m(2,:),'kx');
axis equal
end

mart(522,522,522,10000)
mart(-522,-522,522,10000)
mart(-522,522/1000,-522,10000)
mart(-522/10,17,4,100000)
function p=dd(f,x0,n)
p=[x0];
for i=2:n
        p(i)=f(p(i-1));
end
end
m=522;
x=m^(1/3);
a=50;
c=1;
d=0;
(x + 522)/(x + 1)

dd(@(x)((a*x+m*c)/(c*x^2+a)),1,50)

*以下三题为三选一,这里只给出2.9

function p=dd()
sym ct i
ct=0;
i=0;
while double(ct)<2
 i=double(i)+1;
 n=i;
 flag=0;
 while (n>0)
 if (mod(n,10) ==9)
     flag=1;
 end
     n=floor(n/10);
 end
 if (flag==1) %若flag==0 则为第二小问
     ct=double(ct)+1/i;
 end
end
i
end

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注