1楼:幽居古藤
syms t;
a=[t^3 t^2;3*t^3 4*t^2];
a1=diff(a)
有这样的对矩阵求导,你说的,那个对已知的两个矩阵求导,还没有见过
matlab如何 对数组求导?
2楼:匿名用户
本来不想说的。
你的前几个数据的y是相同的,也就是说是它们的数值导数肯定为零。但不意味着这些点都是极值点,这些绝对是你的数据精度的问题。
解析式比数值的优势,我觉得就是“精度”,解析式能求出任何一点的值,而数值只是有限的几个点是己知的,根据这些去猜测(也就是插值)出其它点的值(这些值跟真值应当有一些出入)
data=[
1.04 0
1.12 0
1.2 0
1.28 0
1.36 0
1.44 0
1.52 0
1.6 0
1.68 0
1.76 0
1.84 0
1.92 0
2 52.08 69
2.16 408
2.24 1148
2.32 1963
2.4 2074
2.48 1436
2.56 689
2.64 287
2.72 80
2.8 27
2.88 4
2.96 2
3.04 0
3.12 7
3.2 14
3.28 61
3.36 158
3.44 330
3.52 724
3.6 1367
3.68 2332
3.76 3411
3.84 4054
];x=data(:,1)';
y=data(:,2)';
plot(x,y)
dydx=diff(y)./diff(x); %这个是数值导数
x(find(dydx==0)) %直接数值导数为0的x的值,但是你无法得到中间那个峰的值。
x(dydx(1:end-1).*dydx(2:end)<0) %导数值跨过0的值,这个应当是你想要的
3楼:逆心小土豆
你看看:
syms x1 x2 x3
f = x1^2+x2^2+x3^2;
fx1 = diff(f,x1);
fx2 = diff(f,x2);
fx3 = diff(f,x3);
x11 = input('请输入整数x1:');
x22 = input('请输入整数x2:');
x33 = input('请输入整数x3:');
subs(fx1,x1,x11)
subs(fx2,x2,x22)
subs(fx3,x3,x33)
输出的subs就是赋值之后的每一个偏导的结果,你可以试着运行一下。
diff默认对x求导,如果有好几个x,则默认对x1求导,默认求一介导。
4楼:匿名用户
方法:1. 矩阵y对标量x求导:
y = [y(ij)]d y/dx = [dy(ji)/dx]2. 标量y对列向量x求导:
y = f(x1,x2,..,xn) dy/dx= (dy/dx1,dy/dx2,..,dy/dxn)'
3. 行向量y'对列向量x求导:
y的每一列对x求偏导,各列构成一个矩阵。
4. 列向量y对行向量x’求导:
转化为行向量y’列向量x的导数转置。
5. 向量积对列向量x求导运算法则:
d(uv')/dx =(du/dx)v' + u(dv'/dx)d(u'v)/dx =(du'/dx)v + (dv'/dx)u'
6. 矩阵y对列向量x求导:
y对x的分量求偏导,构成超向量。
7. 矩阵积对列向量求导法则:
d(uv)/dx =(du/dx)v + u(dv/dx)d(uv)/dx =(du/dx)v + u(dv/dx)8. 标量y对矩阵x的导数:
把y对每个x的元素求偏导,不用转置。
dy/dx = [dy/dx(ij) ]
9. 矩阵y对矩阵x的导数:
将y的每个元素对x求导,然后排在一起形成超级矩阵。
10.乘积的导数
d(f*g)/dx=(df'/dx)g+(dg/dx)f'
5楼:匿名用户
这个问题我给你分析一下,首先你的想法看起来是对的,但其实不是很正确。
对于离散的数据点,使用求导的方法寻找极值,你会发现找不到导数为零的地方的。原因是离散点求导就是做差分。
寻找极值的方法应该是:一维搜索的方法
就是一个一个的查询数组,看在哪个点处的数比它前后的数都大。
6楼:匿名用户
求导 函数为 diff()
如>> syms x;
>> y=x^2+x
y =x^2 + x
>> s=diff(y)
s =2*x + 1
7楼:匿名用户
题目错了爸!!!!!!!
matlab中矩阵在x,y两个方向求导
8楼:匿名用户
建议用gradient 可以矩阵求导。
1。如果f是一维矩阵,则fx=gradient(f,h)返回f的一维数值梯度。h是f中相邻两点间的间距。
2。如果f是二维矩阵,返回f的二维数值梯度。
[fx,fy]=gradient(f,hx,hy)。hx,hy参数表示各方向相邻两点的距离。
3。如果f是三维矩阵,返回f的三维数值梯度。
[fx,fy,fz]=gradient(f,hx,hy,hz)。
hx,hy,hz参数表示各方向相邻两点的距离。
9楼:郗晚竹长衣
\是matlab里面的左除。用来求(以你问题为例)x*a=y这个线性方程组的(最小二乘)解。
当然你这个方程比较奇怪,未知数为a,方程系数存在x矩阵里面
已知实数x,y满足y x x+2y 4 y-2,且(x
1楼 随缘 实数x y满足 y x x 2y 4 y 2 满足条件的 动点p x y 构成的 区域为三角形及其内部,端点 a 4 3 4 3 b 2 2 c 7 2 记点 1 1 为d 那么 x 1 2 y 1 2 pd 2 pd max cd 73 cd min od 2 x 1 2 y 1 2的...
已知x+y-5,xy 3求根号(x y)+根号(y
1楼 匿名用户 xy y xy x xy x y xy 3 5 3 5 3 3 已知x y 5,xy 3求根号 根号的值 2楼 匿名用户 是根号x加根号y吗? 如果是那就先算根号 根号的平方喽 平方完就是x y 2根号xy 5 2根号3喽然后根号 根号肯定大于0 所以开平方取正数 就是根号 5 2根...
已知隐函数y y(x)由方程xy 1-e y确定,求y"
1楼 自由自在 已知隐函数 y y x 由方程xy 1 e y确定,求y将等式两边对x求导数得 y xy e y y 则 y y e y x y 0 y e y 设y y x 是由方程e y xy 1所确定的隐函数,求dy dx 2楼 宇文仙 e y xy 1 两边同时对x求导得 e y y y x...