1
This commit is contained in:
10
lab4/exercise4_1.m
Normal file
10
lab4/exercise4_1.m
Normal file
@@ -0,0 +1,10 @@
|
||||
c = input('请输入一个字符:', 's');
|
||||
if c >= 'A' && c <= 'Z'
|
||||
disp(char(abs(c) + abs('a') - abs('A')));
|
||||
elseif c >= 'a' && c <= 'z'
|
||||
disp(char(abs(c) - abs('a') + abs('A')));
|
||||
elseif c >= '0' && c <= '9'
|
||||
disp(abs(c) - abs('0'));
|
||||
else
|
||||
disp(c);
|
||||
end
|
||||
6
lab4/exercise4_10.m
Normal file
6
lab4/exercise4_10.m
Normal file
@@ -0,0 +1,6 @@
|
||||
mysum=0,i=1;
|
||||
while(i<=100)
|
||||
mysum=mysum+i
|
||||
i=i+1 ;
|
||||
end
|
||||
mysum
|
||||
13
lab4/exercise4_11.m
Normal file
13
lab4/exercise4_11.m
Normal file
@@ -0,0 +1,13 @@
|
||||
A=[1 2 3;4 5 6;7 8 9];
|
||||
[r,c]=size(A);
|
||||
% 判断并把A中大于8和小于2的元素全部调整为0
|
||||
for i=1:1:r
|
||||
for j=1:1:c
|
||||
if (A(i,j)>8 || A(i,j)<2)
|
||||
A(i,j)=0;
|
||||
end
|
||||
end
|
||||
end
|
||||
% 改写
|
||||
b=(A <= 8 & A >= 2); % 判断A中小于等于8和大于等于2的元素,结果是逻辑值0/1
|
||||
A=A.*b %实现A中大于8和小于2的元素全部调整为0,基于矩阵的点乘
|
||||
5
lab4/exercise4_12.m
Normal file
5
lab4/exercise4_12.m
Normal file
@@ -0,0 +1,5 @@
|
||||
x = 0:0.05:2;
|
||||
y = diag(f(x).*f(x+2));
|
||||
plot(x,y);
|
||||
xlabel('\bfx');
|
||||
ylabel('\bfy');
|
||||
8
lab4/exercise4_13.m
Normal file
8
lab4/exercise4_13.m
Normal file
@@ -0,0 +1,8 @@
|
||||
subplot(2,2,2);
|
||||
x=linspace(-pi/2,pi/2,100);
|
||||
y=sqrt(cos(x));
|
||||
plot(x,y);
|
||||
subplot(2,2,3);
|
||||
x=linspace(-2,2);
|
||||
y=linspace(-4,4);
|
||||
ezsurfc('x.^2/4+y.^2/16')
|
||||
9
lab4/exercise4_14.m
Normal file
9
lab4/exercise4_14.m
Normal file
@@ -0,0 +1,9 @@
|
||||
A=input('请输入一个向量');
|
||||
[m,n]=size(A);
|
||||
min=A(1,n);
|
||||
for i=1:n
|
||||
if min>A(1,i)
|
||||
min=A(1,i);
|
||||
end
|
||||
end
|
||||
disp(min)
|
||||
6
lab4/exercise4_15.m
Normal file
6
lab4/exercise4_15.m
Normal file
@@ -0,0 +1,6 @@
|
||||
a=[2,3,1,2;1,3,0,1;1,-1,1,8;7,1,-2,2];
|
||||
b=[8,6,1,5]';
|
||||
ra=rank(a);
|
||||
rb=rank([a,b]);
|
||||
det(a);
|
||||
xx=a\b
|
||||
9
lab4/exercise4_16.m
Normal file
9
lab4/exercise4_16.m
Normal file
@@ -0,0 +1,9 @@
|
||||
t=linspace(0,4*pi,20);
|
||||
y1=sin(t);
|
||||
y2=2*cos(2*t);
|
||||
plot(t,y1,'k-');
|
||||
text(1.2,sin(1.2),'y1 \leftarrow','FontSize',12)
|
||||
hold on;
|
||||
plot(t,y2,'r--o');
|
||||
text(6,1.5,'y2 \leftarrow','FontSize',12);
|
||||
title('y1 and y2');
|
||||
6
lab4/exercise4_2.m
Normal file
6
lab4/exercise4_2.m
Normal file
@@ -0,0 +1,6 @@
|
||||
a=input('a=?');
|
||||
b=input('b=?');
|
||||
c=input('c=?');
|
||||
d=b*b-4*a*c;
|
||||
x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];
|
||||
disp(['x1 =',num2str(x(1)),' ,x2=',num2str(x(2))]);
|
||||
7
lab4/exercise4_3.m
Normal file
7
lab4/exercise4_3.m
Normal file
@@ -0,0 +1,7 @@
|
||||
x=input('请输入x的值:');
|
||||
if x==10
|
||||
y=cos(x+1)+sqrt(x*x+1);
|
||||
else
|
||||
y=(3^(1/2))*sqrt(x+sqrt(x));
|
||||
end
|
||||
y
|
||||
6
lab4/exercise4_4.m
Normal file
6
lab4/exercise4_4.m
Normal file
@@ -0,0 +1,6 @@
|
||||
s=0;
|
||||
a=[12,13,14;15,16,17;18,19,20];
|
||||
for k=a
|
||||
s=s+k;
|
||||
end
|
||||
disp(s');
|
||||
9
lab4/exercise4_5.m
Normal file
9
lab4/exercise4_5.m
Normal file
@@ -0,0 +1,9 @@
|
||||
k=0;
|
||||
for n=100:200
|
||||
if rem(n,21)~=0
|
||||
k=k+1;
|
||||
continue
|
||||
end
|
||||
break;
|
||||
end
|
||||
k
|
||||
9
lab4/exercise4_7.m
Normal file
9
lab4/exercise4_7.m
Normal file
@@ -0,0 +1,9 @@
|
||||
x=-2:0.2:2;
|
||||
y=x.^2;
|
||||
plot(x,y)
|
||||
str1 = num2str(min(x));
|
||||
%数字转化为字符串
|
||||
str2 = num2str(max(x));
|
||||
%数字转化为字符串
|
||||
out = ['Value of f from ''str1'' to ''str2'' '];
|
||||
xlabel(out);
|
||||
13
lab4/exercise4_8.m
Normal file
13
lab4/exercise4_8.m
Normal file
@@ -0,0 +1,13 @@
|
||||
s1=0;s2=0;n1 =0;n2=0 ;
|
||||
x=[1,-4,-8,3,10,-9,7,-3,10, 8,-5,-2,2,0];
|
||||
m=length(x);
|
||||
for i=1:m
|
||||
if x(i)<0
|
||||
s1=s1+x(i);
|
||||
n1=n1+1;
|
||||
else
|
||||
s2=s2+x(i);
|
||||
n2=n2+1;
|
||||
end
|
||||
end
|
||||
s1,n1 ,s2,n2,m
|
||||
4
lab4/exercise4_9.m
Normal file
4
lab4/exercise4_9.m
Normal file
@@ -0,0 +1,4 @@
|
||||
A=[1,2;3,4];B=[1,2;1,4];
|
||||
C= A*B
|
||||
D= A+B
|
||||
E= A.*B
|
||||
8
lab4/f.m
Normal file
8
lab4/f.m
Normal file
@@ -0,0 +1,8 @@
|
||||
function y=f(x)
|
||||
if x<=2
|
||||
y=0.5*x;
|
||||
elseif x>6
|
||||
y=0.5;
|
||||
else
|
||||
y =1.5-0.25*x;
|
||||
end
|
||||
6
lab4/factor.m
Normal file
6
lab4/factor.m
Normal file
@@ -0,0 +1,6 @@
|
||||
function f=factor(n)
|
||||
if n<=1
|
||||
f=1;
|
||||
else
|
||||
f=factor(n-1)*n;
|
||||
end
|
||||
1634
lab5/all-gps.txt
Normal file
1634
lab5/all-gps.txt
Normal file
File diff suppressed because it is too large
Load Diff
8
lab5/exercise5_1.m
Normal file
8
lab5/exercise5_1.m
Normal file
@@ -0,0 +1,8 @@
|
||||
i
|
||||
j
|
||||
eps
|
||||
inf
|
||||
nan
|
||||
pi
|
||||
realmax
|
||||
realmin
|
||||
8
lab5/exercise5_7.m
Normal file
8
lab5/exercise5_7.m
Normal file
@@ -0,0 +1,8 @@
|
||||
x=linspace(-2*pi,2*pi,21);
|
||||
y=linspace(-1.5*pi,1.5*pi,31);
|
||||
[xx,yy]=meshgrid(x,y);
|
||||
zz=sin(xx/2).*cos(yy);
|
||||
subplot(1,2,1)
|
||||
surf(xx,yy,zz);axis image;
|
||||
subplot(1,2,2)
|
||||
contour(xx,yy,zz);axis image;
|
||||
12
lab5/exercise5_8.m
Normal file
12
lab5/exercise5_8.m
Normal file
@@ -0,0 +1,12 @@
|
||||
x=0:2:4*pi;
|
||||
y=sin(x).*exp(-x/5);
|
||||
xx=0:0.1:4*pi;
|
||||
yya=interp1(x,y,xx,'nearest');
|
||||
yyb=interp1(x,y,xx,'linear');
|
||||
yyc=interp1(x,y,xx,'spline');
|
||||
yyd=interp1(x,y,xx,'cubic');
|
||||
yye=polyval(polyfit(x,y,6),x);
|
||||
plot(xx,yya,xx,yyb,xx,yyd,x,y,'r*');
|
||||
legend('nearest','linear','spline','cubic','source');
|
||||
grid on
|
||||
title('2007***07**.zhang')
|
||||
42
lab5/lab6.m
Normal file
42
lab5/lab6.m
Normal file
@@ -0,0 +1,42 @@
|
||||
clear all;
|
||||
[filename1,p1]=uigetfile('*.txt','选择尼康全站仪坐标文件名');
|
||||
fp=fopen(strcat(p1,filename1),'r');
|
||||
i=1;zb=[];
|
||||
while ~feof(fp)
|
||||
line=fgetl(fp);
|
||||
my=findstr(line,',');
|
||||
zb(i).dh=line(1:my(1)-1); % 点号
|
||||
zb(i).x=str2num(line(my(1)+1:my(2)-1)); % X坐标
|
||||
zb(i).y=str2num(line(my(2)+1:my(3)-1)); % Y坐标
|
||||
zb(i).h=str2num(line(my(3)+1:my(4)-1)); % h坐标
|
||||
zb(i).dm=line(my(4)+1:end); % 点名
|
||||
i = i + 1;
|
||||
end
|
||||
fclose(fp);
|
||||
|
||||
% 计算国家坐标系坐标
|
||||
a=3976223.453;
|
||||
b=39512553.524;
|
||||
rad=deg2rad(0.433267);
|
||||
c=cos(rad);d=-sin(rad);lmd=1.000034336;
|
||||
m=i-1;
|
||||
gjzb=[];
|
||||
for i=1:m;
|
||||
gjzb(i).dh=zb(i).dh;
|
||||
gjzb(i).dm=zb(i).dm;
|
||||
gjzb(i).h=zb(i).h;
|
||||
gjzb(i).x=a+lmd*(c*zb(1).x-d*zb(i).y);
|
||||
gjzb(i).y=b+lmd*(d*zb(1).x+d*zb(i).y);
|
||||
end
|
||||
|
||||
[filename2,p2]=uigetfile('*.txt','选择输出文件名');
|
||||
fn=fopen(strcat(p2,filename2),'w');
|
||||
fprintf(fn,'%s\n\n','点名 X(m) Y(m) H(mm) code');
|
||||
for i=1:m
|
||||
fprintf(fn,'%8s',gjzb(i).dh);
|
||||
fprintf(fn,'%15.3f',gjzb(i).x);
|
||||
fprintf(fn,'%16.3f',gjzb(i).y);
|
||||
fprintf(fn,'%10.f',gjzb(i).h);
|
||||
fprintf(fn,'%8s\n',gjzb(i).dm);
|
||||
end
|
||||
fclose(fn);
|
||||
4
lab5/plotRaram.m
Normal file
4
lab5/plotRaram.m
Normal file
@@ -0,0 +1,4 @@
|
||||
t=linspace(0,4*pi);
|
||||
x=sin(t);
|
||||
y=1-cos(t)+t/10;
|
||||
plot(x,y,'-or');
|
||||
11
lab5/regPolygon.m
Normal file
11
lab5/regPolygon.m
Normal file
@@ -0,0 +1,11 @@
|
||||
function y=regPolygon(n)
|
||||
R=1;
|
||||
t=0:0.01:2*pi;
|
||||
x=R*cos(t);
|
||||
y=R*sin(t);
|
||||
m=linspace(pi/2,5/2*pi,n+1);
|
||||
xz=R*cos(m);
|
||||
yz=R*sin(m);
|
||||
hold on
|
||||
plot(x,y,xz,yz);
|
||||
axis equal;
|
||||
1636
lab5/result.txt
Normal file
1636
lab5/result.txt
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user