早教吧作业答案频道 -->数学-->
请问matlab 分段函数如果分成100段,改如何表示?我知道,比如把函数分成三段,可以用if-elseif-else分别列举每一段来表示,但是如果是100段甚至更多,这样一来不能一一列举,该怎么表示呢?比如我要
题目详情
请问matlab 分段函数如果分成100段,改如何表示?
我知道,比如把函数分成三段,可以用if-elseif-else分别列举每一段来表示,但是如果是100段甚至更多,这样一来不能一一列举,该怎么表示呢?比如我要表示一个分段函数u=f(t,q) ,自变量是时间t和一个向量q,length(q)=200,t的范围tt=0:0.01:7,函数分成的段数为q的维数200,每一段恒等于对应的q的值.
比如输入q=1:1:200,t=1.45时,f(1.45,1:200)=42.
我自己想了一种方法,可是感觉很繁琐,由于涉及到矩阵的运算,代入到我论文的函数里后运算需要很长时间.下面是我的程序:
function u=control(t,q)
t0=0;
tf=7;
h=0.01;
tt=t0:h:tf;
k=tf/length(q);
N1=length(tt);
N2=length(q);
U=zeros(N2,length(tt));
u_all=zeros(size(tt));
for j=1:N2
for i=1:N1
if tt(i)>=(j-1)*k & tt(i)
我知道,比如把函数分成三段,可以用if-elseif-else分别列举每一段来表示,但是如果是100段甚至更多,这样一来不能一一列举,该怎么表示呢?比如我要表示一个分段函数u=f(t,q) ,自变量是时间t和一个向量q,length(q)=200,t的范围tt=0:0.01:7,函数分成的段数为q的维数200,每一段恒等于对应的q的值.
比如输入q=1:1:200,t=1.45时,f(1.45,1:200)=42.
我自己想了一种方法,可是感觉很繁琐,由于涉及到矩阵的运算,代入到我论文的函数里后运算需要很长时间.下面是我的程序:
function u=control(t,q)
t0=0;
tf=7;
h=0.01;
tt=t0:h:tf;
k=tf/length(q);
N1=length(tt);
N2=length(q);
U=zeros(N2,length(tt));
u_all=zeros(size(tt));
for j=1:N2
for i=1:N1
if tt(i)>=(j-1)*k & tt(i)
▼优质解答
答案和解析
你的问题可以这样解决:
function u=control(t,q)
t0=0;
tf=7;
h=0.01;
tt=t0:h:tf;
N = length(q);
t_div = t0:tf/(N-1):tf; % 把t=0~7分成200份,形成一个函数q=f(t_div);
u_all = interp1(t_div,q,tt,'nearest'); % 用nearest neighbor的方法插值,把对应于某一个时间t_div(n)的的值q(n)赋给包含t的那段函数的每一个点上,也就是tt上.
plot(tt,u_all,'.')
data = [tt' u_all'];
u = data(data(:,1)==t,2); %找到当自变量为t,q时的u值
return
function u=control(t,q)
t0=0;
tf=7;
h=0.01;
tt=t0:h:tf;
N = length(q);
t_div = t0:tf/(N-1):tf; % 把t=0~7分成200份,形成一个函数q=f(t_div);
u_all = interp1(t_div,q,tt,'nearest'); % 用nearest neighbor的方法插值,把对应于某一个时间t_div(n)的的值q(n)赋给包含t的那段函数的每一个点上,也就是tt上.
plot(tt,u_all,'.')
data = [tt' u_all'];
u = data(data(:,1)==t,2); %找到当自变量为t,q时的u值
return
看了 请问matlab 分段函数如...的网友还看了以下:
任意正数N的常用对数都可以写成一个正数S加上一个正的纯小数(或者零)W的形式(事实上,任何实数都如 2020-05-13 …
下列说法中,正确的是:A.任何实数的平方都是正数B.正数的倒数必小于这个正数C.绝对值等于它本身的 2020-05-14 …
韦达定理 已知一元二次方程8X-(m-1)X+M-7=0 M为何实数时,方程的两个根互为相反数一. 2020-05-16 …
判断对错(1)任何整数的倒数都是真分数()(2)任何判断对错(1)任何整数的倒数都是真分数()(2 2020-06-02 …
说因数和倍数时通常把0排除在外,但说偶数时又把0作为2的倍数.为什么?0是任何非0自然数的倍数吗? 2020-06-07 …
初中数学题求助(一)我们知道若ab>0,则a,b两个数必定是同号的两个数,若三个数满足abc>0, 2020-07-30 …
如何一眼看出求参数范围的导数高考题是否可以用分离变量法1、大部分求参数范围高考题分离变量后会出现0 2020-07-31 …
点有面积吗?我们知道,点动成线,线动成面,既然平面图形有面积,那么反过来说,点也应该有面积。若点无 2020-08-02 …
m取任何实数时,不等式x^2-(m^2+2m-5)x+(m-3)(m^2+m-2)小于0的解包含0到 2020-11-07 …
0除任何非零数得0,为什么0是任何非0自然数的倍数? 2020-11-18 …