當前位置:首頁 » 編程軟體 » 編程心形線

編程心形線

發布時間: 2022-07-13 21:25:38

A. 使用matlab編程:畫出心形線和馬鞍面

程序代碼和圖形如下:
%1心形線
clc;clear;close all;
i=-pi:0.1:pi;
x=2.*(sin(i)-sin(2*i)./2);
y=2.*(cos(i)-cos(i).^2);
figure(1);
plot(x,y);grid on;box on;
axis([-3 3 -4.2 1]);
title('心形線');xlabel('x');ylabel('y');

%2馬鞍面
clc;clear;
a=10;
b=10;
x=-1.5:0.1:1.5;
y=-1.5:0.1:1.5;
[X,Y]=meshgrid(x,y);
Z=X.^2/a-Y.^2/b;
figure(2);
subplot(221);
surf (X,Y,Z);title('馬鞍面'); xlabel('x');ylabel('y');
subplot(222);
surf (X,Y,Z);title('馬鞍面'); xlabel('x');ylabel('y');
view(20,30);
subplot(223);
surf (X,Y,Z);title('馬鞍面'); xlabel('x');ylabel('y');
view(50,20);
subplot(224);
surf (X,Y,Z);title('馬鞍面'); xlabel('x');ylabel('y');
view(60,10);

B. 用java或者c程序輸出如下圖的這種簡單心形,誰能給我講講思路。加上程序示例更好

用方程的話肯定輸出不會和你的圖完全一致

心形線方程如圖

C. 數控銑床銑心形線的編程怎麼寫,法納克的銑床

在心形模型上首先定個零點坐標 然後就好以零點坐標為基準 以增量或絕對坐標兩種方式 推算出其他點的坐標
具體的編程語言 要看你是啥系統 Fanuc或Siemens還有宏程序等等
這個是基礎
會了後 可以直接用 作圖軟體 畫出個滿意的心形樣子 然後直接導出程序
一般什麼Pro-E、UG都行 這些作圖軟體的定位是復雜的3D磨具 造型 一個小小的平面心形不在話下~

D. 用CAXA或者CAD怎樣畫心形

心形線的曲線方程: X=Rcosθ Y=Rsinθ 0 ≤θ≥2Л 1.可以將θ值根據需要適當的輸入,確定坐標點然後用CAD樣條曲線連接點越多越精確,在工程上用此法即可畫圖也可放樣加工。 2.使用AutoLISP編程繪制,圖形精確,繪圖步驟麻煩。(本人只畫過漸開線)

E. 數學軟體高手:未入門的菜蟲請教MATLAB編程問題!

1.心形線是圓的外擺線的一種,它是這樣形成的:一個動圓沿一個定圓的圓周外部無滑動的滾動(兩個圓的半徑相等),動圓的圓周上的一固定點運動的軌跡就是心形線。程序如下:
function [xcar,ycar]=drawcardioid(varargin)
% A demonstration to show the form of the cardioid

error(nargchk(0,3,nargin));
nin = nargin;
if nin==0
cx1=0; cy1=0; % The coordinate of the center point.
r=1; % The radius of the circle.
elseif nin==1
cx1=0; cy1=0;
r=varargin{1};
elseif nin==2
cx1=0;
cy1= vararin{1};
r = varargin{2};
else
cx1=vararin{1};
cy1=vararin{2};
r=vararin{3};
end

if nargout==0
flag=1;
else
flag=0;
end

theta = linspace(0,2*pi,120);
x0 = r*cos(theta);
y0 = r*sin(theta);
x1 = x0+cx1;
y1 = y0+cy1;
cx2 = 2*x0+cx1;
cy2 = 2*y0+cy1;
x3=x0.*cos(theta)-y0.*sin(theta);
y3=x0.*sin(theta)+y0.*cos(theta);
for k=1:120
x2(k,:) = cx2(k)+x0;
y2(k,:) = cy2(k)+y0;
xx(k)=cx2(k)+x3(k);
yy(k)=cy2(k)+y3(k);
end
xcar = xx;
ycar = yy;
if flag
plot(x1,y1);
axis([cx1-3.2*r cx1+3.2*r cy1-3.2*r cy1+3.2*r]);
axis manual;
hold on
daspect([1 1 1]);
set(gcf,'doublebuffer','on');
for k = 1:120
plot(x2(k,:),y2(k,:),'g',xx(k),yy(k),'r*');
pause(0.05);
%plot(x2,y2,'color','w');
end
end

2.求a的平方根:
function y=sq(a)
ep=1.0E-5;
x1=1;
x2=(x1+a/x1)/2;
while(abs(x1-x2)>ep)
x1=x2;
x2=(x1+a/x1)/2;
end
y=x2;

3.多種方法迭代:該方程有一實根:-0.7684531615
方法一:
function y=st1()
ep=1.0E-5;
x1=-2;
x2=(-x1^5+2*x1-1)/(5*x1^2);
while(abs(x1-x2)>ep)
x1=x2;
x2=(-x1^5+2*x1-1)/(5*x1^2);
end
y=x2;
該方法發散

方法二:
function y=st2()
ep=1.0E-5;
x1=-2;
x2=(-5*x1^3+2*x1-1)/x1^4;
while(abs(x1-x2)>ep)
x1=x2;
x2=(-5*x1^3+2*x1-1)/x1^4;
end
y=x2;
該方法不穩定。

方法三:
function y=sq()
ep=1.0E-5;
x1=-1;
tim=-x1^5+2*x1-1;
x2=sign(tim/5)*(abs(tim/5))^(1/3);
while(abs(x1-x2)>ep)
x1=x2;
tim=-x1^5+2*x1-1;
x2=sign(tim/5)*(abs(tim/5))^(1/3);
end
y=x2;
演算法穩定收斂。

由於時間有限,最後一題留給你自己做吧。

F. 在同一平面中的兩個窗口分別畫出心形線和馬鞍面

%問題1.
clear
ax1=subplot(1,2,1);
t=0:.01*pi:2*pi;
f1=polar(t,1+cos(t));
title('心形線');
legend(f1,'r=1+cost')

ax2=subplot(1,2,2);
x1=linspace(-40,20,40);
y1=linspace(-40,20,40);
[xx1,yy1]=meshgrid(x1,y1);
zz1=xx1.*yy1;
f2=surf(xx1,yy1,zz1);
title('馬鞍面');
legend(f2,'z=x^2-y^2','Location','NorthWest')
xlabel('x軸')
ylabel('y軸')
zlabel('z軸')
axis([-40 20 -40 20 -1000 1500])
setAllowAxesRotate(rotate3d,ax1,false);
grid on

%問題2(給你四個程序,你自己挑吧):
%1)
clear
[x,y,z]=sphere(200);
i=find(x.^2+y.^2-x>=0&x.^2+y.^2+z.^2<1);
z(i)=NaN;
mesh(x,y,z)
hold on
t=0:pi/20:2*pi;
x=(cos(t)+1)/2;
y=sin(t)/2;
z=linspace(-1.2,1.2,length(t));
X=meshgrid(x);
Y=meshgrid(y);
Z=[meshgrid(z)]';
surf(X,Y,Z)
xlabel('x'),ylabel('y'),zlabel('z')
title('球面 X^2+Y^2+Z^2=1和圓柱面X^2+Y^2=X所圍成的區域')
rotate3d on

%2)
clear
[X,Y,Z]=sphere(20);
mesh(X,Y,Z)
hidden on
hold on
axis equal
t=0:pi/20:2*pi;
x=(cos(t)+1)/2;
y=sin(t)/2;
z=linspace(-1.2,1.2,length(t));
X=meshgrid(x);
Y=meshgrid(y);
Z=[meshgrid(z)]';
surf(X,Y,Z)
xlabel('x'),ylabel('y'),zlabel('z')
rotate3d on

%3)
[x,y,z]=sphere(200);
i=find(x.^2+y.^2-x<=0&x.^2+y.^2+z.^2>=1);
z(i)=NaN;
mesh(x,y,z)
hidden on
hold on
ezplot('x^2+y^2=x')
title('球面 X^2+Y^2+Z^2=1和圓柱面X^2+Y^2=X所圍成的區域')
rotate3d on

%4)
[x,y,z]=sphere(200);
i=find(x.^2+y.^2-x>=0);
z(i)=NaN;
mesh(x,y,z)
hidden on
hold on
ezplot('x^2+y^2=x')
title('球面 X^2+Y^2+Z^2=1和圓柱面X^2+Y^2=X所圍成的區域')
rotate3d on
MATLAB的幾個題目幫個忙解答一下,謝謝 懸賞分:20 | 解決時間:2008-7-22 16:47 | 提問者:灼眼の刃
1.在[0 2π]范圍內繪制二維曲線圖:y=sin(x)*cos(5x)。
2.在[0 2π]范圍內繪制以Y軸為對數的二維曲線圖:y=|1000sin(4x)|+1

3.在[–6 2]范圍內用plot和fplot函數分別繪制二維曲線圖。
4.繪制z=sin(x)*cos(y)的三維網格和三維曲面圖,x,y變化范圍均為 [0 2] 。
最佳答案 1.>> x=linspace(0,2*pi,100);
>>y=sin(x).*cos(5*x);
>> plot(x,y)
2.>> x=linspace(0,2*pi,100);
>>y=abs(1000*sin(4*x))+1;
>> semilogy(x,y)
3.沒函數
4.>>x=0:0.01:2
>>y=0:0.01:2
>>z=sin(x)'*cos(y)
>> mesh(x,y,z)
>> surf(x,y,z)
在同一個直角坐標系內畫相互函數y=xsinx和y=xsin(1/x)在區間【0.005,10】的圖形,添加x軸和y軸的簡單註解,創建圖例框,並嘗試用不同的線性顏色以及標記
[ 標簽:直角坐標系,函數,區間 ] 在同一個直角坐標系內畫相互函數y=xsinx和y=xsin(1/x)在區間【0.005,10】的圖形,添加x軸和y軸的簡單註解,創建圖例框,並嘗試用不同的線性顏色以及標記

matlab 編程
王木木 回答:1 人氣:6 解決時間:2010-04-04 13:19
滿意答案好評率:100% x=0.005:0.005:10;
y1=x.*sin(x);
y2=x.*sin(1./x);
plot(x,y1)
hold on
plot(x,y2,'r')
xlabel('x')

text(0.8,1.5,'曲線y1=2e^{-0.5x}'); %在指定位置添加圖形說明
ylabel('y')
legend('y=x*sin(x)','y=x*sin(1/x)')

請教一個關於MATLSB的問題 畫出函數z=x^2+y^2+sin(xy)的曲面及等高線圖 可以的話把程序寫出來
x=-8:.01:8;
y=-8:.01:8;
[X,Y]=meshgrid(x,y);
Z=X.^2+Y.^2+sin(X*Y);
mesh(X,Y,Z);
meshc(X,Y,Z);

熱點內容
手機電量緩存 發布:2025-02-08 09:01:37 瀏覽:896
java怎麼寫程序 發布:2025-02-08 09:00:55 瀏覽:866
javaphp加密 發布:2025-02-08 08:59:45 瀏覽:986
股票避險資產配置哪個好 發布:2025-02-08 08:57:44 瀏覽:877
谷歌瀏覽器開啟ftp 發布:2025-02-08 08:55:08 瀏覽:28
安卓工程師開發是什麼專業 發布:2025-02-08 08:38:15 瀏覽:677
怎麼用電腦和朋友遠程伺服器連接 發布:2025-02-08 08:29:52 瀏覽:233
如何播放咪咕視頻的緩存電影 發布:2025-02-08 08:28:17 瀏覽:573
台式電腦修改密碼在哪裡修改 發布:2025-02-08 08:25:18 瀏覽:297
linux編譯opencv 發布:2025-02-08 08:14:29 瀏覽:713