matlab分段函数 matlab分段函数怎么编写
\u8bf7\u6559\u5404\u4f4d\u600e\u6837\u7528matlab\u5b9a\u4e49\u4e00\u4e2a\u5206\u6bb5\u51fd\u6570matlab\u5206\u6bb5\u51fd\u6570\u7f16\u5199\u7684\u64cd\u4f5c\u65b9\u6cd5\u548c\u6b65\u9aa4\u5982\u4e0b\uff1a
1\u3001\u7b2c\u4e00\u6b65\uff0c\u5728\u8ba1\u7b97\u673a\u684c\u9762\u4e0a\u6253\u5f00MATLAB\u8f6f\u4ef6\uff0c\u5982\u4e0b\u56fe\u6240\u793a\u3002
2\u3001\u5176\u6b21\uff0c\u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u540e\uff0c\u5355\u51fbmatlab\u8f6f\u4ef6\u5de6\u4e0a\u65b9\u7684\u201c\u65b0\u5efa\u201d\u6309\u94ae\u4ee5\u521b\u5efa\u811a\u672c\u6587\u4ef6\uff0c\u5982\u4e0b\u56fe\u6240\u793a\u3002
3\u3001\u63a5\u7740\uff0c\u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u540e\uff0c\u5b9a\u4e49\u53d8\u91cf\uff0c\u5982\u4e0b\u56fe\u7ea2\u6846\u6807\u6ce8\u6240\u793a\u3002
4\u3001\u7136\u540e\uff0c\u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u540e\uff0c\u5efa\u7acb\u4e00\u4e2a\u5faa\u73af\u6765\u6c42\u89e3\u5206\u6bb5\u51fd\u6570\uff0c\u5982\u4e0b\u56fe\u6240\u793a\u3002
5\u3001\u968f\u540e\uff0c\u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u540e\uff0c\u4f7f\u7528piot\uff08x\uff0cy\uff09\u6307\u4ee4\u7ed8\u5236\u56fe\u5f62\uff0c\u5982\u4e0b\u56fe\u6240\u793a\u3002
6\u3001\u6700\u540e\uff0c\u5b8c\u6210\u4e0a\u8ff0\u6b65\u9aa4\u540e\uff0c\u663e\u793a\u6700\u7ec8\u5206\u6bb5\u51fd\u6570\u7684\u6548\u679c\uff0c\u5982\u4e0b\u56fe\u6240\u793a\u3002\u8fd9\u6837\uff0c\u95ee\u9898\u5c31\u89e3\u51b3\u4e86\u3002
建立f_z函数m文件
function y=f_z(s,e)
%s 累加起始值
%e 累加结束值
syms a z k;
if s<=0&e>=0 %如果s,e符号不同则需要分段级数累加
y=symsum(0*z^(-k),k,s,0)+symsum(a^k*z^(-k),k,1,e);
elseif s<0&e<0
y=symsum(0*z^(-k),k,s,e);
else
y=symsum(a^k*z^(-k),k,s,e);
end
在matlab主窗口输入
>> g=f_z(0,inf)
g =
-a/(a-z)
当然你可以计算任意,累加的值,比如说
>>g=f_z(-100,2)
g =
a/z+a^2/z^2
>> g=f_z(2,inf)
g =
-a^2/z/(a-z)
你新建1个m函数,把这个放在m函数里编写,直接调用函数的好
这个简单的
顺便问一下a 是常数还是变量?
绛旓細1銆侀鍏堝湪鐢佃剳妗岄潰涓婃墦寮MATLAB杞欢銆2銆佺劧鍚庣偣鍑matlab杞欢宸︿笂鏂圭殑鏂板缓鎸夐挳锛屽缓绔嬩竴涓剼鏈枃浠躲3銆佸畾涔夊彉閲忥細a1=1.5锛沘2=2.5锛沊=0:0.001:5 4銆佸缓绔嬪惊鐜紝姹傝В鍒嗘鍑芥暟銆5銆侀噰鐢╬iot锛坸锛寉锛夋寚浠ょ敾鍥俱6銆佸睍绀烘渶缁堢殑鍒嗘鍑芥暟鏁堟灉銆
绛旓細宸茬煡鍑芥暟f(x)= 姹俧(3)鐨勫笺傝В锛氱敱3鈭堬紙锛嶁垶锛6锛夛紝鐭(3)=f(3+2)=f(5),鍙5鈭堬紙锛嶁垶锛6锛,鎵浠(5)=f(5+2)=f(7).鍙堢敱7鈭圼6锛+鈭烇級鎵浠(7)=7锛2=5锛屽洜姝わ紝f(3)=5銆傛眰鍒嗘鍑芥暟鐨勫嚱鏁板肩殑鏂规硶锛氬厛纭畾瑕佹眰鍊肩殑鑷彉閲忓睘浜庡摢涓娈靛尯闂达紝鐒跺悗鎸夎娈电殑琛ㄨ揪寮忓幓姹傚硷紝鐩村埌...
绛旓細1銆佺粯鍒鍒嗘鍑芥暟鍥惧儚锛岄渶瑕佺煡閬撳垎娈靛嚱鏁扮殑琛ㄨ揪寮忋傛潵缁樺埗鍒嗘鍑芥暟鍥惧儚锛岃鍑芥暟鍒嗕负涓夋銆2銆亁鐨勫彇鍊艰寖鍥撮夊彇0鍒3锛寉鐨勮〃杈惧紡涔﹀啓濡備笅鍥炬墍绀猴紝琛ㄧず涓烘瘡娈电殑鍑芥暟琛ㄨ揪寮忎箻浠鍖洪棿鐨勯昏緫琛ㄨ揪寮忥紝濡傛灉x鐨勫煎湪鑼冨洿鍐咃紝灏变箻浠1锛屼笉鍦ㄨ寖鍥村唴锛屽氨涔樹互0銆3銆佺偣鍑诲洖杞﹂敭锛岃繍琛岀▼搴忥紝杩愯缁撴灉濡備笅鍥炬墍绀猴紝鍙互鐪嬪埌缁...
绛旓細棣栧厛锛屽缓绔嬭嚜瀹氫箟鍒嗘鍑芥暟锛屽嵆piecewise銆俶 function y=piecewise(x) %piecewise function 鍒嗘鍑芥暟 n=length(x); Pomax=9; for i=1:n if x(i)>=0 & x(i)150 & x(i)> piecewise(4) ans = 7.5992
绛旓細鍒嗘鍑芥暟 n=length(t); %璁$畻鎵杈撳叆t鐨勪釜鏁 for i=1:n if t(i)>=2 %濡傛灉t>=2鏃讹紝y=1 y(i)=1;elseif t(i)>=-2 & t(i)<2 %濡傛灉t[-2锛2)鏃讹紝y=t²y(i)=t(i).^2;else y(i)=-1; %濡傛灉t<-2鏃讹紝y=-1 end end 2銆佸湪鍛戒护绐楀彛涓皟鐢 >>t=0:0...
绛旓細1銆侀鍏堝弻鍑绘墦寮MATLAB杞欢锛屽鍥炬墍绀恒2銆佺劧鍚庡缓绔嬩竴涓剼鏈枃浠讹紝鍏蜂綋鏂规硶濡傚浘鎵绀恒3銆佺劧鍚庡畾涔夊彉閲忋4銆佺劧鍚庡缓绔嬪惊鐜紝姹傝В鍒嗘鍑芥暟銆5銆佺劧鍚庨噰鐢ㄤ互涓嬫寚浠ょ敾鍥俱6銆佺劧鍚庡氨鍙互鐪嬪埌鐢诲嚭鐨勫浘鐗囧鍥炬墍绀恒
绛旓細matlab鍒嗘鍑芥暟缂栧啓鐨勬搷浣滄柟娉曞拰姝ラ濡備笅锛1銆佺涓姝ワ紝鍦ㄨ绠楁満妗岄潰涓婃墦寮MATLAB杞欢锛屽涓嬪浘鎵绀恒2銆佸叾娆★紝瀹屾垚涓婅堪姝ラ鍚庯紝鍗曞嚮matlab杞欢宸︿笂鏂圭殑鈥滄柊寤衡濇寜閽互鍒涘缓鑴氭湰鏂囦欢锛屽涓嬪浘鎵绀恒3銆佹帴鐫锛屽畬鎴愪笂杩版楠ゅ悗锛屽畾涔夊彉閲忥紝濡備笅鍥剧孩妗嗘爣娉ㄦ墍绀恒4銆佺劧鍚庯紝瀹屾垚涓婅堪姝ラ鍚庯紝寤虹珛涓涓惊鐜潵姹傝В鍒嗘...
绛旓細1銆侀鍏堟垜浠‘瀹氫笅鎵鐢荤殑鍑芥暟 sin(2*x) 0<=x<=pi 2*x pi<x<=5 0 鍏朵綑鐨剎 2銆佺劧鍚庢垜浠粙缁嶄笅鍖垮悕鍑芥暟f=@(x) sin(2*x) 姝ゆ椂鎴戜滑灏卞畾涔変簡涓涓猻in(2*x)鍑芥暟銆3銆佹帴鐫鎴戜滑闄愬埗sin(2x)鐨勫畾涔夊煙锛(x>=0 & x<=pi) 杩欓噷&琛ㄧず骞朵笖鐨勬剰鎬濄4銆佹垜浠寜鍚屾牱鐨勬柟娉曞畾涔...
绛旓細1銆佹墦寮MATLAB杞欢锛屽鍥炬墍绀恒2銆佸缓绔嬩竴涓剼鏈枃浠讹紝鍏蜂綋鏂规硶濡傚浘鎵绀恒3銆佹墦寮鐨勬枃妗d腑锛岄夋嫨瀹氫箟鍙橀噺銆4銆佸缓绔嬪惊鐜紝姹傝В鍒嗘鍑芥暟銆5銆佹帴涓嬫潵鏄粨鏉熼儴鍒嗭紝閲囩敤浠ヤ笅鎸囦护鐢诲浘銆傝繖鏍蜂究鍙互瀹屾垚鎵鏈夌殑鍒嗘鍑芥暟鐢诲浘銆6銆佸緱鍒扮殑缁撴灉濡備笅鍥撅細
绛旓細杩欐牱锛歝lc,clear,close all x = -5:.1:5;y(x>=1) = 3.*x(x>=1).^2+1;y(x>-1 && x<1) = 0;y(x<=-1) = -x(x<=-1).^3+2;figure,plot(x,y)