1樓:暢桂花江琬
functionf=
myfun(x)
f=sqrt((x(1)-3)^2+(x(2)-1)^2+(x(3)+1)^2);
function
[c,ceq]=conf(x)
c=0;
ceq=1-x(1)^2-x(2)^2-x(3)^2;
這兩個函式分別定義在myfun.m和conf.m中命令列輸入
[x,fval]=fmincon(@myfun,[001],,,,,,,@conf)求得x
=0.9045
0.3015
-0.3015
fval
=2.3166
所以最近點座標[0.9045
0.3015
-0.3015],距離是2.3166
最遠點的話f=-sqrt((x(1)-3)^2+(x(2)-1)^2+(x(3)+1)^2);
再[x,fval]=fmincon(@myfun,[001],,,,,,,@conf)求得x
=-0.9045
-0.3015
0.3015
fval
=-4.3166
所以最遠點座標[
-0.9045
-0.3015
0.3015],距離是4.3166
滿意請採納,不懂可追問,謝謝!
2樓:閒庭信步
過球心o(0,0,0)及點p(3,1,-1)的直線與球面的兩個交點即為所求。
可用以下**求解
syms x y z t
q1='x-3*t'
q2='y-t'
q3='z+t'
q4='x^2+y^2+z^2-1'
[x,y,z,t]=solve(q1,q2,q3,q4)
x =1/11*11^(1/2)
-1/11*11^(1/2)
y =3/11*11^(1/2)
-3/11*11^(1/2)
z =1/11*11^(1/2)
-1/11*11^(1/2)
dmin=sqrt((3-x(1))^2+(1-y(1))^2+(-1-z(1))^2)
dmin =
((3-1/11*11^(1/2))^2+(1-3/11*11^(1/2))^2+(-1-1/11*11^(1/2))^2)^(1/2)
dmax=sqrt((3-x(2))^2+(1-y(2))^2+(-1-z(2))^2)
dmax =
((3+1/11*11^(1/2))^2+(1+3/11*11^(1/2))^2+(-1+1/11*11^(1/2))^2)^(1/2)
dmax= eval(dmax)
dmax =
3.8749
dmin= eval(dmin)
dmin =
2.9975
有45矩陣用matlab程式設計求出其最大值及其所在
matlab求最大值直接呼叫求最值的函式 max 函式就好了。例如矩陣為 a 那麼求最值即為 max a max max a m,n find max a a 程式中出錯的原因可能是因為第一行結束的分號是中文分號,換成非英文分號就好。matlab 中的 max 函式是求最大值的函式。1 如果 a 是...
用matlab畫出上半球面 橢球面 雙葉雙曲面 單葉雙曲面
半球面 fia,theta meshgrid linspace 0,pi,100 pi x sin theta cos fia y sin theta sin fia z cos theta surf x,y,z shading interp 橢球面 theta 0 0.1 2 pi phi the...
如何編寫軟體,軟體是用程式設計軟體編的,程式設計軟體又怎麼來的?
你學c語言吧!那麼究竟怎樣學習c語言呢?1 工欲善其事,必先利其器 這裡介紹幾個學習c語言必備的東東 一個開發環境,例如turbo c 2.0,這個曾經佔據了dos時代開發程式的大半個江山。但是現在windows時代,用turbo c有感覺不方面,編輯程式起來很吃力,並且拖放,更沒有函式變數自動感應...