[問題] 請問如何產生一個step function ?已回收
請教網路上的各位高手
我想要做出一個STEP FUNCTION
它會是在一個方程式內
如下
w_left=[exp(-((xi-m1)^2)/(2*d1^2)))*u(-(xi-m1))+u(xi-m1)];
u就是我想要的step function
我本來想利用副程式的方式
把u(-)與u()分成兩個
一個在小於0的時候回傳1另一個在大於0的時候回傳1
如下
function r = u1( fun_in )
if fun_in < 0
r=1;
else
r=0
end
可是好像不能用~~可能是我的想法一直用c的想法
不知道有大大可以跟我講一下訣竅嗎?
感激不盡
我PO上我完整的CODE好了 如下
主程式
clear all; clc;
%m1=input('m1=')
m1=0;
%d1=input('delta1=')
d1=0.2;
%m2=input('m2=')
m2=0;
%d2=input('delta2=')
d2=0.2;
xi=-1:0.01:1;
%u1(fun_in)當fun<0 回傳1
%u2(fun_in)當fun<0 回傳0
%u1()u2()為模擬步階函數之結果
ret_u11=u1(xi-m1);
%plot(ret_u11)
ret_u12=u2(xi-m1);
%plot(ret_u12)
w_left=(exp(-((xi-m1).^2)/(2*d1^2)).*ret_u11)+ret_u12;
ret_u21=u1(xi-m2);
ret_u22=u2(xi-m2);
w_right=(exp(-((xi-m2).^2)/(2*d2^2)).*ret_u22)+ret_u21;
ua=w_left.*w_right;
plot(ua)
u1
function r = u1( fun_in )
if fun_in < 0
r=1;
else
r=0;
end
u2
function r = u2( fun_in )
if fun_in > 0
r=1;
else
r=0;
end
看起來他只有執行一次,我該怎樣讓他執行Xi有變化就會直接一直做
我分開來用也不行
拜託高手了
感激不盡
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.124.33.185
推
06/07 23:20, , 1F
06/07 23:20, 1F
推
06/07 23:21, , 2F
06/07 23:21, 2F
→
06/08 01:38, , 3F
06/08 01:38, 3F
→
06/08 01:43, , 4F
06/08 01:43, 4F
※ 編輯: ezekielluc 來自: 60.248.201.66 (06/08 10:14)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章