编写一个函数,函数名为convolntion用于计算两个矩阵的卷积,调用形式C=convoluti

编写一个函数,函数名为convolntion用于计算两个矩阵的卷积,调用形式C=convoluti,第1张

没有矩阵卷积的,只有向量卷积。当然,如果你硬要把向量理解为一个1n的矩阵,那也说的过去。

在vc60上验证过了

#include <stdioh>

#include <stringh>

char convolntion(char Mat1,// 向量1

char len1, // 向量1的长度

char Mat2,// 向量2

char len2, // 向量2的长度

char Result)// 向量1 X 向量2的结果

{

char i,j;

char p = NULL;

char ret;

ret = len1 + len2 - 1;

p = (char )malloc(ret len2);

memset(p, 0, ret len2);

for(j = 0; j < len2; j++)

{

for(i = 0; i < len1; i++)

{

(p + retj + i + j) = ((Mat1 + i)) ((Mat2 + j));

}

}

for (i = 0; i < ret; i++)

{

(Result + i) = 0;

for (j = 0; j < len2; j++)

{

(Result + i) += (p + i + j ret);

}

}

free(p);

p = NULL;

return ret;

}

void main()

{

char vector1[3] = {1,2,3};

char vector2[3] = {1,2,1};

char result[5];

char len;

len = convolntion(vector1, sizeof(vector1), vector2, sizeof(vector2), result);

return 0 ;

}

结果是 1 4 8 8 3

你在验证一下其他的吧。

代码有个限制就是所有的计算结果不能超过128,超过就会有问题。因为我所有的数据类型都写的char,你可以自己改

第一类换元法,就是反用复合函数的微分法。

f(x)=g(z),z=h(x),f'(x)=g'(z)h'(x),∫f'(x)dx=∫g'(z)h'(x)dx=∫g'(z)dz

如果g,h相对简单,就很容易求。

第一类换元法,一般不会改变被积函数的形式,比如原来是根式,还是根式;原来是分式,还是分式;原来是多项式,还是多项式;原来是三角函数,还是三角函数;原来是对数函数还是对数函数;原来是指数函数还是指数函数等等。

第一类换元法的基本特征,是在被积函数与自变量之间,插入一个中间变量:

f(x)=g(z),z=h(x)

比如ln(5x+2)-->ln(z),z=5x+2

第二类换元法,是要改变被积函数的形式的,通常用来积分根式、三角函数。比如,变换之后,没有根号了;三角函数的万能变换,将三角函数变成代数分式了。反三角函数变成三角函数了。

第二类换元法的基本形式是,f(x),x=g(t),f(x)=f(g(t)),

是在被积函数,自变量x,后面增加一级自变量t,取代了原来的自变量。

比如,lnx,x=e^t,lnx=lne^t=t

图中的两个,都是属于第二类换元法。

以上就是关于编写一个函数,函数名为convolntion用于计算两个矩阵的卷积,调用形式C=convoluti全部的内容,包括:编写一个函数,函数名为convolntion用于计算两个矩阵的卷积,调用形式C=convoluti、p),p是一个向量,请问矩阵卷积运算的具、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10632011.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存