MATLAB程序设计课后作业一

1.1:执行程序猜歌名

clc;clear;close all;

代码略,显然,歌名为《传奇》-王菲

1.2:作业 1.2 考虑下式: 对x0=0,编写两段程序求n=0,5,10,…200时的xn值,第一 段程序采用for循环,第二段程序采用while循环结构。 Xn收敛为何值?Plot函数的第三个参数为plot(x,y,’ks’), 画出xn的平方曲线图。X轴代表n,y轴代表x。

x=0;
n=input("请输入n:");N=[];X=[];
for i=0:n
    x=x^2+0.25;
end
disp(x);
x=0;
n=1;
while(n<=200)
    N(n)=n;
    X(n)=x;
    n=n+1;
    x=x^2+0.25;
end
disp(x);
plot(N,X,"ks");

输入相应的n后即可得答案

1.3:阅读alexnet程序,并用于识别照片,其中alexnet和googlenet插件均需要自己在mathwork插件库下载

clc;clear;close all;
%% 读取图片

clear, clc
pic1 = imread('test (1).jpg');
pic2 = imread('test (2).jpg');
pic3 = imread('test (3).jpg');
pic4 = imread('test (4).jpg');
pic5 = imread('test (5).jpg');
pic6 = imread('test (6).jpg');
pic7 = imread('test (7).jpg');
pic8 = imread('test (8).jpg');
pic9 = imread('test (9).jpg');
pic10 = imread('test (10).jpg');
% imshow(pic1)

% pic2=imread('peppers.png');
%% 调用网络
net = googlenet;
sz = net.Layers(1).InputSize; % 神经网络中图片尺寸

    img = imresize(pic1, [sz(1) sz(2)]); % 图片保存为可识别的尺寸大小
    label = classify(net, img); %识别图片
    disp(label)
    img = imresize(pic2, [sz(1) sz(2)]); % 图片保存为可识别的尺寸大小
    label = classify(net, img); %识别图片
    disp(label)
    img = imresize(pic3, [sz(1) sz(2)]); % 图片保存为可识别的尺寸大小
    label = classify(net, img); %识别图片
    disp(label)
    img = imresize(pic4, [sz(1) sz(2)]); % 图片保存为可识别的尺寸大小
    label = classify(net, img); %识别图片
    disp(label)
    img = imresize(pic5, [sz(1) sz(2)]); % 图片保存为可识别的尺寸大小
    label = classify(net, img); %识别图片
    disp(label)
    img = imresize(pic6, [sz(1) sz(2)]); % 图片保存为可识别的尺寸大小
    label = classify(net, img); %识别图片
    disp(label)
    img = imresize(pic7, [sz(1) sz(2)]); % 图片保存为可识别的尺寸大小
    label = classify(net, img); %识别图片
    disp(label)
    img = imresize(pic8, [sz(1) sz(2)]); % 图片保存为可识别的尺寸大小
    label = classify(net, img); %识别图片
    disp(label)
    img = imresize(pic9, [sz(1) sz(2)]); % 图片保存为可识别的尺寸大小
    label = classify(net, img); %识别图片
    disp(label)
    img = imresize(pic10, [sz(1) sz(2)]); % 图片保存为可识别的尺寸大小
    label = classify(net, img); %识别图片
    disp(label)
%% 输出结果
% figure
% image(img1);
% title(char(label));
% disp(['The photo is ', char(label)])

1.4:分别用regress,normplot,stepwise分析建筑材料公司销售量

clc;clear;close all;
x1=[5.5 2.5 8.0 3.0 3.0 2.9 8.0 9.0 4.0 6.5 5.5 5.0 6.0 5.0 3.5 8.0 6.0 4.0 7.5 7.0];
x2=[31 55 67 50 38 71 30 56 42 73 60 44 50 39 55 70 40 50 62 59];
x3=[10 8 12 7 8 12 12 5 8 5 11 12 6 10 10 6 11 11 9 9 ];
x4=[8 6 9 16 15 17 8 10 4 16 7 12 6 4 4 14 6 8 13 11];
y=[79.3 200.1 163.2 200.1 146.0 177.7 30.9 291.9 160.0 339.4 159.6 86.3 237.5 107.2 155.0 201.4 100.2 135.8 223.3 195.0];
X=[ones(length(y)) x1',x2',x3',x4'];
[b,bint,r,rint,stats]=regress(y',X);
disp(b);disp(bint);disp(r);disp(rint);disp(stats);
Z1=[x1,y];
normplot(Z1);
hold on
Z2=[x2,y];
normplot(Z2);
Z3=[x3,y];
normplot(Z3);
Z4=[x4,y];
normplot(Z4);
stepwise(X,y');

1.5:根据经纬度计算两点间的球面距离

方法一:基于球面余弦公式的grest-circle距离

clc;clear;close all;
R=6370856;
Aj=input("请输入A点的经度:");
Aw=input("请输入A点的纬度:");
Bj=input("请输入B点的经度:");
Bw=input("请输入B点的纬度:");
%基于球面余弦公式:
AB=R*acos(cos(Aw*pi/180)*cos(Bw*pi/180)*cos(Bj*pi/180-Aj*pi/180)+sin(Aw*pi/180)*sin(Bw*pi/180));

disp(AB)

方法二:基于haversine公式

function B=haversin(A)
B=(1-cos(A))/2;
end
seta=acos(1-2*haversin(Aw*pi/180-Bw*pi/180)-2*cos(Aw*pi/180)*cos(Bw*pi/180)*haversin(Bj*pi/180-Aj*pi/180));
d=seta*R;
disp(d);

最后运行结果d=AB即是正确

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

揽阳_Shadows

打赏这个宝藏博主!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值