2个回答
展开全部
第一问:(代码放在一个M文件里面)
function mymain1
clc,clear;close all
x=1:0.02:5;
y1=sin(100./x).*exp(x);
y2=2.^x;
y3=-y2;
y41=sqrt(400-100*(x-3).^2)+3;
y42=-sqrt(400-100*(x-3).^2)+3;
plot(x,y1,x,y2,x,y3,[x flip(x)],[y41,flip(y42)])
xlabel('横坐标x');
ylabel('纵坐标y');
title('不同函数曲线与交点');
legend('y=sin(100/x)e^x','y=2^x','y=-2^x','(x-3)^2/4+(y-3)^2/400=1');
%求交点坐标
f1=@(x)2^x-sin(100/x)*exp(x); %1与2
f2=@(x)-2^x-sin(100/x)*exp(x);%1与3
X1=find_nodes(f1);
Y1=2.^X1;
X2=find_nodes(f2);
Y2=-2.^X2;
f31=@(x)sqrt(400-100*(x-3).^2)+3-2^x;
f32=@(x)-sqrt(400-100*(x-3).^2)+3+2^x;
X31=find_nodes(f31);
X32=find_nodes(f32);
Y31=2.^X31;
Y32=-2.^X32;
%%%%%
f41=@(x)sqrt(400-100*(x-3).^2)+3-sin(100/x)*exp(x);
f42=@(x)-sqrt(400-100*(x-3).^2)+3-sin(100/x)*exp(x);
X41=find_nodes(f41);
X42=find_nodes(f42);
Y41=sin(100./X41).*exp(X41);
Y42=sin(100./X42).*exp(X42);
%%%%%
X=[X1 X2 X31 X32 X41 X42];
Y=[Y1 Y2 Y31 Y32 Y41 Y42];
hold on
D=['r*'; 'y*';'g*';'k*';'m*';'b*';'c*'];
%plot(X,Y,'*')
for i=1:length(X)
temp=mod(i,7);
if temp==0
plot(X(i),Y(i),D(end,:))
else
plot(X(i),Y(i),D(temp,:))
end
end
%求交点横坐标
function X=find_nodes(f)
X=[];
x=1:0.02:5;
for i=1:length(x)-1
y1=f(x(i));
y2=f(x(i+1));
if (y1*y2)<0
X=[X fzero(f,[x(i),x(i+1)])];
end
end
第二问:
clc,clear;
A=magic(100);
B=A.^2;
Bd1=sum(diag(A));
Bd2=sum(diag(A'));
fprintf('东南到西北对角线和:%f\n',Bd1);
fprintf('东北到西南对角线和:%f\n',Bd2);
第一问图:
更多追问追答
追问
第二问
转置之后
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询