代码和思路都是凭感觉 写的,希望起到抛砖引玉的作用


 

问题1:输入方差、均值画出正态分布图

群问题解决思路及参考源码:_matlab

matlab源码:

clear,clc;
mu=input('请输入mu:');
sigma=input('请输入sigma:');
x=mu-sigma*3.5:0.1:mu+sigma*3.5;
y=1/(sqrt(2*pi*sigma)).*exp(-(x-mu).^2/(2*sigma^2));
plot(x,y,'-r')
hold on
plot([mu  mu],[0,max(y)],':k')
title(['\mu=',num2str(mu),'    \sigma^2=',num2str(sigma^2)])
grid minor
axis([mu-sigma*3 mu+sigma*3 0 max(y)*1.08])
set(gca,'box','off')

 群问题解决思路及参考源码:_经验分享_02

python源码:

import  numpy as np
from matplotlib import pyplot as plt
mu=eval(input('请输入mu:'))
sigma=eval(input('请输入sigma:'))
x=np.linspace(mu-sigma*3.5,mu+sigma*3.5,100)
y=1/(np.sqrt(2*np.pi*sigma))*np.exp(-(x-mu)**2/(2*sigma**2))
plt.plot(x,y,'-r')
plt.grid(':')
plt.title(r'$\mu=$'+str(mu)+' $\sigma^2=$'+str(sigma**2))
plt.xlim(mu-sigma*3,mu+sigma*3)
plt.ylim(0,max(y)*1.08)

 群问题解决思路及参考源码:_matlab_03

问题2:怎么画三维波形图

群问题解决思路及参考源码:_算法_04

matlab源码:

clear,clc
t = 0:pi/20:8*pi;
for i=1:3
    eval(['x',num2str(i),'=i+zeros(1,length(t));']);
    eval(['y',num2str(i),'=','i*cos(i*t);']);
    plot3(eval(['x',int2str(i)]),t,eval(['y',int2str(i)]))
    hold on
end
xlabel('x'),ylabel('y'),zlabel('z','rotation',0)
axis([0 4 0 8*pi*1.1 -3 3])
grid minor

群问题解决思路及参考源码:_其他_05

python源码

import numpy as np
from matplotlib import pyplot as plt
ax1 = plt.axes(projection='3d')
x=np.linspace(0,8*np.pi,200)
y1=np.ones(len(x))
z1=2*np.cos(2*x)+2
z2=2*np.sin(x)+2
plt.xlabel('x')
plt.ylabel('y')
ax1.plot3D(x,y1,z1,'r-')    #绘制空间曲线
ax1.plot3D(x,y1-2,z2,'g-')    #绘制空间曲线
plt.ylim(-2,2)
plt.show()

群问题解决思路及参考源码:_经验分享_06

问题3 :怎么去掉x轴

怎么把x轴去掉

群问题解决思路及参考源码:_其他_07

思路:x轴改成 白色

matlab源码:

clear,clc
x=(1:1:4);
y1=[0.362 0.313 0.314 0.402];
y2=[-0.0364 -0.0338 -0.0329 -0.0444];
e1=[0.01606 0.00825 0.00058 0.00068];
e2=[0.00034 0.00031 0.00076 0.00008];
bar(x,y1,0.5,'facecolor',[0.7,0.7,0.7],'BaseValue',0);
errorbar(x,y1,e1,'.k');
bar(x,y2,0.5,'facecolor',[0.7,0.7,0.7]);
errorbar(x,y2,e2,'.k');
axis([0 5 -0.1 0.5]);
set(gca,'xtick',[1:1:4],'XColor','white');
set(gca,'xticklabel',{'CK','T1','T2','T3'});
set(gca,'xticklabel',[]);
hold off

群问题解决思路及参考源码:_matlab_08

问题4:怎么画示波器图像

群问题解决思路及参考源码:_其他_09

matlab 源码

clear
clc
x=0:0.01:10*pi;
for i=1:length(x)
y1(i)=sin(pi/10*x(i))+3+0.05*(randn(1,1)-1);
y2(i)=cos(pi/10*x(i))+3+0.06*(randn(1,1)-1);
end
plot(x,y1,x,y2)
axis([0 10*pi 1.5 5])

 

 群问题解决思路及参考源码:_其他_10

python源码

from matplotlib import pyplot as plt
import numpy as np
x=np.linspace(-np.pi,10*np.pi,500)
y1=np.ones(len(x))
y2=np.ones(len(x))
for i in np.arange(0,len(x)):
    y1[i] = np.sin(np.pi /10 * x[i]) + 3 + 0.1 * (np.random.rand()- 1)
    y2[i] = np.cos(np.pi / 10 * x[i]) + 3 + 0.2 * (np.random.rand() - 1)
plt.plot(x,y1)
plt.plot(x,y2)
plt.grid(c='k',linestyle=':')
plt.show()

 群问题解决思路及参考源码:_matlab_11

 问题5:解方程

群问题解决思路及参考源码:_matlab_12

 matlab源码

clear,clc;
num=0;
for x=1:100
    for y=1:100
        for z=1:100
                if (x+y+z)*(1/x+1/y+1/z)==14
                    num=num+1;
                    disp(['第',num2str(num),'组合为:x=',num2str(x),'  y=',num2str(y),'  z=',num2str(z)])
                end
        end
    end
end
%[2K,3K,10K]
%[3K,10K,15K]

群问题解决思路及参考源码:_其他_13

问题6 :怎么画散点热力图

群问题解决思路及参考源码:_其他_14

clear,clc
x = linspace(0,3*pi,200);
y = x + 5*rand(1,200);
size = 45;
color =1:length(x);
scatter(x,y,size,color,'filled')
grid minor
colorbar
colormap(hot)
set(gca,'box','on')

 群问题解决思路及参考源码:_算法_15

 7.怎么画凸包络图

群问题解决思路及参考源码:_算法_16

举个例子

x=rand(1,20);
y=rand(1,20);
z=rand(1,20);
k=convhull(x,y,z);
h=trisurf(k,x,y,z);
hold on
plot3(x,y,z,'+r')
h.FaceAlpha=0.5;

 群问题解决思路及参考源码:_matlab_17