matlab3dimshow_matlab利用MATLAB嵌套函数表示3D作图
展開全部
function RandDisplayJiong
axis off;
set(gcf,'menubar','none','toolbar','none');
for k=1:50
h=text(rand,rand,...
['\fontsize{',num2str(unifrnd(20,50)),'}\fontname{隸書}囧'],...
'color',rand(1,3),'Rotation',360*rand);
pause(0.2);
end
function T=cat_in_holl(n)
T=zeros(1,n);
for k=1:n
c=unidrnd(3,1);
while c~=1
if c==2
T(k)=T(k)+4;
else
T(k)=T(k)+6;
end
c=unidrnd(3,1);
end
T(k)=T(k)+2;
end
》z=cat_in_holl(10000);
function example2_3_6slow
A=unidrnd(100,100,7);
B=zeros(100,3);
tic;
for m=1:100
a=A(m,:);
b=[4,6,8];
for ii=1:3
dd=a(a==b(ii));
if isempty(dd)==0
b(ii)=0;
end
end
B(m,:)=b;
end
toc
end
function example2_3_6fast2
clear
A=unidrnd(100,1000000,7);
B=repmat([4,6,8],1000000,1);
tic;
C=[any(A==4,2) any(A==6,2) any(A==8,2)];
B(C)=0;B
toc
function triangle_table
fig = figure('defaultuicontrolunits','normalized','name','triangle_table',...
'numbertitle','off','menubar','none');
ah = axes('Pos',[.1 .2 .75 .75],'Visible','off');
slider_h = uicontrol('style','slider','units','normalized','pos',...
[0.1,0.05,0.75,0.05],'sliderstep',[1/6,0.05],'callback',@change_color);
hold on
for k = 0:6
plot(0:6-k,(6-k)*ones(1,(7-k)),'k');
plot(k*ones(1,(7-k)),k:6,'k');
end
plot([0,6],[0,6],'k');
hold off;
for x = 1:5
for y = 1:x
text(y-0.5,x+0.5,num2str(x),'color','k','tag','數(shù)字');
end
end
for k = 0:5
text(k+0.1,k+0.5,[num2str(k),'.5'],'tag','數(shù)字');
end
function change_color(hObject,eventdata)
v = round(6*get(slider_h,'value'));
num_h = findobj('tag','數(shù)字');
num_pos = get(num_h,'pos');
red_num_logic = cellfun(@(x) (x(1)<=v&&x(2)<=v),num_pos);
set(num_h(red_num_logic),'color','r');
set(num_h(~red_num_logic),'color','k');
end
end
function [m,n,TT]=plot3dnmT(N,L)
C=zeros(N,1);
m=linspace(0,2,L);
[m,n]=meshgrid(m,m);
TT=zeros(size(n));
for ii=1:L
for jj=1:L
TT(ii,jj)=calcT(m(ii,jj),n(ii,jj));
end
end
function Tmn=calcT(mm,nn)
for N1=1;N
C(N1)=(mm^62616964757a686964616fe58685e5aeb931333337373630N1/gamma(N1+1))*sum(nn.^(0:N1-1)./gamma(1:N1));
Tmn=1.0-exp(-mm-nn)*sum(C);
end
end
mesh(n,m,TT);
end
》[m,n,TT]=plot3dnmT(30,30);
function [mx,minf]=randwalk(f,x,lamda,epsilon,N)
f1=f(x(1),x(2));
while(lamda>=epsilon)
k=1;
while(k<=N)
u=unifrnd(-1,1,1,2);
x1=x+lamda*(u/norm(u));
f11=f(x1(1),x1(2));
if f11
f1=f11;
x=x1;
k=1;
else
k+k+1;
end
end
lamda=lamda/2;
end
mx=x1;
minf=f1;
>>f=@(x)-sin(sqrt((x(1)-50)^2+(x(2)-50)^2)+exp(1))/(sqrt((x(1)-50)^2+(x(20)-50)^2)+exp(1))-1;
>> f2=@(x,y)-sin(sqrt((x-50).^2+(y-50).^2)+exp(1))./(sqrt((x-50).^2+(y-50).^2)+exp(1))-1;
>> [x,fval]=fminsearch(f,[49,49],optimset('TolX',1e-8))
function [mx,minf]=randwalknew(f,x,lamda,epsilon,N,n)
F=zeros(n,1);
X=zeros(n,2);
f1=f(x(1),x(2));
while(lamda>=epsilon)
k=1;
while(k<=N)
u=unifrnd(-1,1,n,2);
for ii=1:n
X(ii,:)=x+lamda*(u(ii,:)/norm(u(ii,:)));
F(ii)=f(X(ii,1),X(ii,2));
end
[f11,kk]=min(F);
if f11
f1=f11;
x=X(kk,:);
k=1;
else
k=k+1;
end
end
lamda=lamda/2;
end
mx=X(kk,:);
minf=f1;
》f2=@(x,y)-sin(sqrt((x-50).^2+(y-50).^2)+exp(1))./(sqrt((x-50).^2+(y-50).^2)+exp(1))-1;
》 [mx,minf]=randwalknew(f2,[0,0],10,0.00001,1000,10)
function DuckLakeSegmentation
[filename,pathname,flag]=uigetfile('*.jpg','請(qǐng)導(dǎo)入圖像文件');
Duck=imread([pathname,filename]);
LakeTrainData=[52 74 87;76 117 150;19 48 62;35 64 82;46 58 36;...
50 57 23;110 127 135;156 173 189;246 242 232;...
166 174 151];
DuckTrainData=[211 192 107;202 193 164;32 25 0;213 201 151;115 75 16;...
101 70 0;169 131 22;150 133 87];
group=[zeros(size(LakeTrainData,1),1);ones(size(DuckTrainData,1),1)];
LakeDuckSVM=svmtrain([LakeTrainData;DuckTrainData],group,...
'Kernel_Function','polynomial','Polyorder',2);
[m,n,k]=size(Duck);
Duck1=double(reshape(Duck,m*n,k));
IndDuck=svmclassify(LakeDuckSVM,Duck1);
IndLake=~IndDuck;
result=reshape([IndLake,IndLake,IndLake],[m,n,k]);
Duck2=Duck;
Duck2(result)=0;
figure
imshow(Duck2)
function example12_2_1
TimerA=timer('timerfcn',@TimerFun,'StartDelay',unidrnd(5000,1)/1000,...
'executionmode','fixedrate');
set(TimerA,'userdata',0);
num=5;
start(TimerA)
function TimerFun(obj,event)
set(TimerA,'userdata',get(TimerA,'userdata')+1);
disp(['間隔時(shí)間為',num2str(get(TimerA,'startDelay')),'S!']);
disp('Hello World!');
stop(TimerA);
set(TimerA,'StartDelay',unidrnd(5000,1)/1000);
start(TimerA);
while get(TimerA,'userdata')==num
stop(TimerA)
return;
end
end
end
已贊過
已踩過<
你對(duì)這個(gè)回答的評(píng)價(jià)是?
評(píng)論
收起
總結(jié)
以上是生活随笔為你收集整理的matlab3dimshow_matlab利用MATLAB嵌套函数表示3D作图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux+npm+v+报错_linux
- 下一篇: matlab人脸追踪,求大神帮助我这个菜