C#调用MATLAB文件生成的函数,输入可以是txt形式的参数么?

如题,将matlab拿到txt文件计算返回两个结果,我将MATLAB的m文件写成了一个函数用C#调用,C#传递参数的时候,可以直接是TXT形式的文件么?请问要怎么做?

1个回答

C#可以用file.readalltext(文件名)读取一个txt文档到字符串变量,然后再调用matlab

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c#调用MATLAB的solve函数
从网上查到的信息, c#调用MATLAB的函数一般是写出MATLAB的m文件之后编译生成dll文件,然后c#引用调用,但是在进行简单的加减没有问题,调用solve函数出现了问题,求答
C# 调用matlab regress 函数报错
今天研究C# 调用 matlab 编译的动态库,在将简单加法运算在C# 中调用成功后,满怀开心的心情进一步的调用matlab中regress 函数,结果灾难的报错了,经过半天的奋斗各种百度,谷歌,未能找到解决方案。 .m文件如下: ``` function c = MtRegress( y,x ) r=x'; t=y'; c=regress( t,r ); end ``` c# 如下: ``` MatClass matClass = new MatClass(); MWNumericArray x = new double[] { 1, 2, 3, 4, 5, 6 }; MWNumericArray y = new double[] { 1, 3, 4, 10, 20, 30 }; var data = matClass.MtRegress(y, x); ``` 报错如下: “System.Exception”类型的未经处理的异常在 MWArray.dll 中发生 其他信息: ... MWMCR::EvaluateFunction error ... 未定义与 'double' 类型的输入参数相对应的函数 'regress'。 Error in => MtRegress.m at line 6. ... Matlab M-code Stack Trace ... at file C:\Users\ADMINI~1\AppData\Local\Temp\Administrator\mcrCache8.3\MatLib0\MatLib\MtRegress.m, name MtRegress, line 6. 求大神给出解决方案!
如何在C#中调用MATLAB中的内置函数?
我现在遇到遇到一个问题,在MATLAB中通过定义简单的函数,例如function resutl=add(a,b),实现 两个整数相加的功能的函数,然后在MATLAB中通过deploytool工具生成COM集,可以放在C#中调用。但是我目前进行的神经网络算法的研究,就是要调用MATLAB中内置的 多个神经网络的函数,我仍然采用之前的方法,生成的COM集在C#下调用时,一直出错,不知道该如何解决?我想请问有没有做过这方面的研究,帮助我一下。感谢大家了!
c#调用自定义matlab函数
我使用matlab编辑了一个计算卷积的函数。 输入的变量如下 function R = reliability( range,q1,q2,b1,b2,k1,k2,l1,l2 ) 计算之后,返回一个数组。 用matlab编译成.dll文件,在VS使用c#调用时遇到以下问题![图片说明](https://img-ask.csdn.net/upload/201604/09/1460193442_416575.png) 首先,变量中出现了一个我没有定义过的int numArgsOut,不知道是哪里来的,而我定义的l2不存在了; 其次,我如何把这个object变量中的数组读取出来放到一个数组里面? 谢各位大神指导!
c#调用matlab引擎画图遇到MWNumericArray的类型初始值设定项引发异常的问题
private void button2_Click(object sender, EventArgs e) { IntPtr engine; engine = matlabClass.engOpen(null); MWArray []Y=new MWArray[120000]; MWNumericArray plotValue = new MWNumericArray(MWArrayComplexity.Real, 1, 120000); int k; double[] m = new double[120000]; object[]n=new object[120000]; for (k = 0; k < 120000; k++) { n[k] = dataGridView1.Rows[k].Cells[0].Value; m[k] = double.Parse(n[k].ToString()); } for (k = 1; k < 120000; k++) { plotValue[1,k+1] = m[k]; } matlabClass.engSetVisible(engine, false); matlabClass.engEvalString(engine,"X=1:120000;Y=1:120000;plot(X,Y)"); matlabClass.engClose(engine); } ``` 最近用c#写调用matlab的plot函数画图,我是用的visualstudio2010和matlab2017a,遇到一个很久没有解决的问题。 ```未处理 System.TypeInitializationException HResult=-2146233036 Message=“MathWorks.MATLAB.NET.Arrays.MWNumericArray”的类型初始值设定项引发异常。 Source=MWArray TypeName=MathWorks.MATLAB.NET.Arrays.MWNumericArray StackTrace: 在 MathWorks.MATLAB.NET.Arrays.MWNumericArray..ctor(MWArrayComplexity complexity, Int32[] dimensions) 在 转子系统故障诊断.Form1.button2_Click(Object sender, EventArgs e) 位置 F:\转子系统故障诊断\转子系统故障诊断\Form1.cs:行号 134 在 System.Windows.Forms.Control.OnClick(EventArgs e) 在 System.Windows.Forms.Button.OnClick(EventArgs e) 在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) 在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 在 System.Windows.Forms.Control.WndProc(Message& m) 在 System.Windows.Forms.ButtonBase.WndProc(Message& m) 在 System.Windows.Forms.Button.WndProc(Message& m) 在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 在 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) 在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) 在 转子系统故障诊断.Program.Main() 位置 F:\转子系统故障诊断\转子系统故障诊断\Program.cs:行号 18 InnerException: System.TypeInitializationException HResult=-2146233036 Message=“MathWorks.MATLAB.NET.Arrays.MWArray”的类型初始值设定项引发异常。 Source=MWArray TypeName=MathWorks.MATLAB.NET.Arrays.MWArray StackTrace: 在 MathWorks.MATLAB.NET.Arrays.MWNumericArray.get__Inf() 在 MathWorks.MATLAB.NET.Arrays.MWNumericArray..cctor() InnerException: System.TypeInitializationException HResult=-2146233036 Message=“MathWorks.MATLAB.NET.Utility.MWMCR”的类型初始值设定项引发异常。 Source=MWArray TypeName=MathWorks.MATLAB.NET.Utility.MWMCR StackTrace: 在 MathWorks.MATLAB.NET.Arrays.MWArray..cctor() InnerException: HResult=-2146233088 Message=Trouble initializing libraries required by .NET Assembly. Source=MWArray ``` ``` ``` ``` StackTrace: 在 MathWorks.MATLAB.NET.Utility.MWMCR..cctor() InnerException: 环境变量改过了,MCR也卸了装了好几次,目标平台是64位的,应该也没有问题,真不知道问题在哪里,感觉自己都要哭了。![图片说明](https://img-ask.csdn.net/upload/201907/27/1564207055_428476.png)![图片说明](https://img-ask.csdn.net/upload/201907/27/1564207065_980095.png) 数据是复制到dataGridview然后从里面获取的
怎样用c#调用matlab遗传算法函数????
具体的就是怎样调用选择函数SelCh=SELECT('SUS',Chrom,FitnV,GGAP),其中重要的是怎样调用‘SUS’这个子函数?
C#调用自己打包的dll出现找不到指定的程序问题
大家好,最近用C#调用Matlab,尝试过简单的函数调用没问题(比如sqrt函数),一涉及到下面这两个复杂的函数就出问题,想了好久也没解决,请各位高手指教。VS是2010,Matlab是2013a 这是我的C#代码: double q = 5; double p = 4; MWArray qMat = (MWArray)q; MWArray pMat = (MWArray)p; Test output1 = new Test(); output1.Q(qMat, pMat); Test是类,Q是一个函数。 这是Q函数: function fff=Q(q,pw) arrayfun(@(xx)fsolve(@(x)zdwQ(x,xx),q),pw) end 这是zdwQ函数: function ff=zdwQ(q1,pw) pe=10;a=0.96;b=200;xf=60;k=1;h=10;Re=500;u=1;kexi=log(2*Re/xf);wf=2e-3;rw=0.1;kf=1000; g=@(beta)((b*u*q1./(cosh(beta)*4*xf*k*h)-a+1+sqrt((b*u*q1./(cosh(beta)*4*xf*k*h)-a+1).^2+4*a)/(2*b))); ff=pe-pw-quadl(@(beta)g(beta),0,kexi)-q1*(u*(xf-h/2)/(2*kf*wf*h)+u/(2*pi*kf*wf)*log(h/2*rw)); end 这是出错的信息: csrot 找不到指定的程序 然后是异常:... MWMCR::EvaluateFunction error ... csrot.
MATLAB的一个神经网络已经做好,想用C#写界面,如何才能调用?
MATLAB的神经网络已经做好,然后MATLAB的GUI控件实在是太少太丑太弱了,所以想用C#写界面, 根据用户的操作调用MATLAB的函数?具体该怎么弄? 我认为网上说的把.m文件封装成.dll在这里根本不行,因为是整个神经网络,很多个文件的。所以我想就是 直接开着vs和MATLAB,点击界面时,调用.m文件,计算后,返回结果给界面。这样能行吗?如何做
如何高效利用服务器CPU?当服务器上只有一个方法
我们现在在网络上有一台服务器专门用来运行算法,这个算法为matlab自动生成的dll文件,或者为单一matlab进程。算法的调用由c#实现。调用请求按照紧急程度分为2种,一种需要尽快返回结果,一种可以排队,不需要立刻返回。 但是实际过程中发现,不管算法由哪种方式提供,c#分线程进行调用的时候,都会在算法处排队。c#调用dll排队是因为dll在c#进程中只被复制一次,因此多个线程访问的都是同一方法。c#调用matlab进程排队是因为matlab只有单一进程,来自c#的计算请求会一个个进行。不管是哪种方式,发现cpu使用率都很低。 现在云提供商,升级服务器的时候都是把机器变成更多核心的,但是对于这种单方法的服务器来说,似乎无法提高运算速度(matlab内部对于for loop做bash计算另说)。有没有办法提高cpu使用率呢?或者让这个机器,能够多个同一方法同时调用? 我想到一个非常不规范的办法,不知是否可行。请大家提供建议! 将同一方法在dll中做上几个,每个函数名不同,然后c#在分出线程调用的时候,就可以同时跑‘同一’方法了(虽然函数名不同,但内容是一样的)。
vs2010 matlab2012b 混编问题请教
各位大牛: 近期在做一个 VS2010调用 matlab2012B 产生的C++文件的事情,但一直搞不定,能否指点一下,不胜感激! 环境 VS2010 管理器设置 debugX64 调用 matlab2012B 64位, 1、用matlab 编 my_plot.m文件 function [x]=my_plot(A,B) x=A+B; plot(A,B,'-r'); 2 mcc -W cpplib:my_plot -T link:lib my_plot.m 通过产生 my_plot.dll my_plot.h my_plot.lib 3、打开Vs2010 建立空窗体工程,管理器设置X64 编译运行通过 4、工程中加入相关matlab调用语句如下 #include "stdafx.h" #include "Form1.h" #include "my_plot.h" #include "mclcppclass.h" #include "mclmcrrt.h" #pragma comment(lib,"mclmcrrt.lib") #pragma comment(lib,"my_plot.lib") using namespace chuang; [STAThreadAttribute] int main(array<System::String ^> ^args) { mwArray mwX(1,11,mxDOUBLE_CLASS); mwArray mwY(1,11,mxDOUBLE_CLASS); mwArray mwZ(1,11,mxDOUBLE_CLASS);; int i; double x[1][11],y[1][11]; Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); if (!my_plotInitialize()) return -1; for(i=0; i<11; i++) { x[1][i] = i; y[1][i] = sin(x[1][i]); } mwX.SetData(*x, 11); mwY.SetData(*y, 11); // mwZ.SetData(*y, 11); my_plot(1,mwZ,mwX,mwY); //调Ì¡Â用®?my_plot my_plotTerminate(); Application::Run(gcnew Form1()); return 0; } 环境变量 Path D:\Program Files\MATLAB\R2012b\bin\win64;D:\Program Files\MATLAB\R2012b\bin 包含目录 D:\Program Files\MATLAB\R2012b\extern\include; D:\Program Files\MATLAB\R2012b\extern\include\win64;$(IncludePath) 库目录 D:\Program Files\MATLAB\R2012b\extern\lib\win64\microsoft; $(VCInstallDir)lib\amd64;$(VCInstallDir)atlmfc\lib\amd64;$(WindowsSdkDir)lib\x64; 附加包含目录 D:\Program Files\MATLAB\R2012b\extern\include; D:\Program Files\MATLAB\R2012b\extern\include\win64;%(AdditionalIncludeDirectories) 编译报错: 1> 所有输出均为最新。 1>chuang.obj : error LNK2031: 无法为 "extern "C" int __clrcall array_ref_set_numeric_mxDouble_proxy(class array_ref *,double const *,unsigned __int64)" (?array_ref_set_numeric_mxDouble_proxy@@$$J0YMHPEAVarray_ref@@PEBN_K@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" class array_ref * __clrcall array_ref_deep_copy_proxy(class array_ref *)" (?array_ref_deep_copy_proxy@@$$J0YMPEAVarray_ref@@PEAV1@@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" int __clrcall mclGetMatrix_proxy(void * *,unsigned __int64,unsigned __int64,enum mxClassID,enum mxComplexity)" (?mclGetMatrix_proxy@@$$J0YMHPEAPEAX_K1W4mxClassID@@W4mxComplexity@@@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" char const * __clrcall char_buffer_get_buffer_proxy(class char_buffer *)" (?char_buffer_get_buffer_proxy@@$$J0YMPEBDPEAVchar_buffer@@@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" int __clrcall char_buffer_set_buffer_proxy(class char_buffer *,char const *)" (?char_buffer_set_buffer_proxy@@$$J0YMHPEAVchar_buffer@@PEBD@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" int __clrcall mclCreateCharBuffer_proxy(void * *,char const *)" (?mclCreateCharBuffer_proxy@@$$J0YMHPEAPEAXPEBD@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" int __clrcall mclcppGetLastError_proxy(void * *)" (?mclcppGetLastError_proxy@@$$J0YMHPEAPEAX@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" char const * __clrcall error_info_get_message_proxy(class error_info *)" (?error_info_get_message_proxy@@$$J0YMPEBDPEAVerror_info@@@Z) 生成 p/invoke;元数据中缺少调用约定 @Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" int __clrcall ref_count_obj_addref_proxy(class ref_count_obj *)" (?ref_count_obj_addref_proxy@@$$J0YMHPEAVref_count_obj@@@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2031: 无法为 "extern "C" int __clrcall mclcppCreateError_proxy(void * *,char const *)" (?mclcppCreateError_proxy@@$$J0YMHPEAPEAXPEBD@Z) 生成 p/invoke;元数据中缺少调用约定 1>chuang.obj : error LNK2028: 无法解析的标记(0A00003F) "extern "C" int __clrcall array_ref_set_numeric_mxDouble_proxy(class array_ref *,double const *,unsigned __int64)" (?array_ref_set_numeric_mxDouble_proxy@@$$J0YMHPEAVarray_ref@@PEBN_K@Z),该标记在函数 "public: void __clrcall mwArray::SetData(double *,unsigned __int64)" (?SetData@mwArray@@$$FQEAMXPEAN_K@Z) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A0000E9) "extern "C" class array_ref * __clrcall array_ref_deep_copy_proxy(class array_ref *)" (?array_ref_deep_copy_proxy@@$$J0YMPEAVarray_ref@@PEAV1@@Z),该标记在函数 "public: __clrcall mwArray::mwArray(class mwArray const &)" (??0mwArray@@$$FQEAM@AEBV0@@Z) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A0000FA) "extern "C" int __clrcall mclGetMatrix_proxy(void * *,unsigned __int64,unsigned __int64,enum mxClassID,enum mxComplexity)" (?mclGetMatrix_proxy@@$$J0YMHPEAPEAX_K1W4mxClassID@@W4mxComplexity@@@Z),该标记在函数 "public: __clrcall mwArray::mwArray(unsigned __int64,unsigned __int64,enum mxClassID,enum mxComplexity)" (??0mwArray@@$$FQEAM@_K0W4mxClassID@@W4mxComplexity@@@Z) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A00010E) "extern "C" char const * __clrcall char_buffer_get_buffer_proxy(class char_buffer *)" (?char_buffer_get_buffer_proxy@@$$J0YMPEBDPEAVchar_buffer@@@Z),该标记在函数 "public: __clrcall mwString::operator char const *(void)const " (??BmwString@@$$FQEBMPEBDXZ) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A000110) "extern "C" int __clrcall char_buffer_set_buffer_proxy(class char_buffer *,char const *)" (?char_buffer_set_buffer_proxy@@$$J0YMHPEAVchar_buffer@@PEBD@Z),该标记在函数 "public: __clrcall mwString::mwString(class mwString const &)" (??0mwString@@$$FQEAM@AEBV0@@Z) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A000111) "extern "C" int __clrcall mclCreateCharBuffer_proxy(void * *,char const *)" (?mclCreateCharBuffer_proxy@@$$J0YMHPEAPEAXPEBD@Z),该标记在函数 "public: __clrcall mwString::mwString(class mwString const &)" (??0mwString@@$$FQEAM@AEBV0@@Z) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A000115) "extern "C" int __clrcall mclcppGetLastError_proxy(void * *)" (?mclcppGetLastError_proxy@@$$J0YMHPEAPEAX@Z),该标记在函数 "public: static void __clrcall mwException::raise_error(void)" (?raise_error@mwException@@$$FSMXXZ) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A000116) "extern "C" char const * __clrcall error_info_get_message_proxy(class error_info *)" (?error_info_get_message_proxy@@$$J0YMPEBDPEAVerror_info@@@Z),该标记在函数 "public: virtual char const * __clrcall mwException::what(void)const " (?what@mwException@@$$FUEBMPEBDXZ) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A000117) "extern "C" int __clrcall ref_count_obj_release_proxy(class ref_count_obj *)" (?ref_count_obj_release_proxy@@$$J0YMHPEAVref_count_obj@@@Z),该标记在函数 "public: virtual __clrcall mwArray::~mwArray(void)" (??1mwArray@@$$FUEAM@XZ) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A000118) "extern "C" int __clrcall ref_count_obj_addref_proxy(class ref_count_obj *)" (?ref_count_obj_addref_proxy@@$$J0YMHPEAVref_count_obj@@@Z),该标记在函数 "public: __clrcall mwException::mwException(class mwException const &)" (??0mwException@@$$FQEAM@AEBV0@@Z) 中被引用 1>chuang.obj : error LNK2028: 无法解析的标记(0A000119) "extern "C" int __clrcall mclcppCreateError_proxy(void * *,char const *)" (?mclcppCreateError_proxy@@$$J0YMHPEAPEAXPEBD@Z),该标记在函数 "public: __clrcall mwException::mwException(void)" (??0mwException@@$$FQEAM@XZ) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" char const * __clrcall error_info_get_message_proxy(class error_info *)" (?error_info_get_message_proxy@@$$J0YMPEBDPEAVerror_info@@@Z),该符号在函数 "public: virtual char const * __clrcall mwException::what(void)const " (?what@mwException@@$$FUEBMPEBDXZ) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" int __clrcall ref_count_obj_release_proxy(class ref_count_obj *)" (?ref_count_obj_release_proxy@@$$J0YMHPEAVref_count_obj@@@Z),该符号在函数 "public: virtual __clrcall mwArray::~mwArray(void)" (??1mwArray@@$$FUEAM@XZ) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" int __clrcall mclcppCreateError_proxy(void * *,char const *)" (?mclcppCreateError_proxy@@$$J0YMHPEAPEAXPEBD@Z),该符号在函数 "public: __clrcall mwException::mwException(void)" (??0mwException@@$$FQEAM@XZ) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" int __clrcall ref_count_obj_addref_proxy(class ref_count_obj *)" (?ref_count_obj_addref_proxy@@$$J0YMHPEAVref_count_obj@@@Z),该符号在函数 "public: __clrcall mwException::mwException(class mwException const &)" (??0mwException@@$$FQEAM@AEBV0@@Z) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" int __clrcall mclcppGetLastError_proxy(void * *)" (?mclcppGetLastError_proxy@@$$J0YMHPEAPEAX@Z),该符号在函数 "public: static void __clrcall mwException::raise_error(void)" (?raise_error@mwException@@$$FSMXXZ) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" char const * __clrcall char_buffer_get_buffer_proxy(class char_buffer *)" (?char_buffer_get_buffer_proxy@@$$J0YMPEBDPEAVchar_buffer@@@Z),该符号在函数 "public: __clrcall mwString::operator char const *(void)const " (??BmwString@@$$FQEBMPEBDXZ) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" class array_ref * __clrcall array_ref_deep_copy_proxy(class array_ref *)" (?array_ref_deep_copy_proxy@@$$J0YMPEAVarray_ref@@PEAV1@@Z),该符号在函数 "public: __clrcall mwArray::mwArray(class mwArray const &)" (??0mwArray@@$$FQEAM@AEBV0@@Z) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" int __clrcall array_ref_set_numeric_mxDouble_proxy(class array_ref *,double const *,unsigned __int64)" (?array_ref_set_numeric_mxDouble_proxy@@$$J0YMHPEAVarray_ref@@PEBN_K@Z),该符号在函数 "public: void __clrcall mwArray::SetData(double *,unsigned __int64)" (?SetData@mwArray@@$$FQEAMXPEAN_K@Z) 中被引用 1>chuang.obj : error LNK2019: 无法解析的外部符号 "extern "C" int __clrcall char_buffer_set_buffer_proxy(class char_buffer *,char const *)" (?char_buffer_set_buffer_proxy@@$$J0YMHPEAVchar_buffer@@PEBD@Z),该符号在函数 "public: __clrcall mwString::mwString(class mwString const &)" (??0mwString@@$$FQEAM@AEBV0@@Z) 中被引用 ing@@$$FQEAM@AEBV0@@Z) 中被引用 @@$$FQEAM@_K0W4mxClassID@@W4mxComplexity@@@Z) 中被引用 1>E:\mat-vcc-test\chuang\x64\Debug\chuang.exe : fatal error LNK1120: 22 个无法解析的外部命令 1>
FIR低通滤波器输入缓冲区为频率等于0的常数,输出缓冲区是否跟随输入?
请教老师: 用MATLAB的FDATool设计一个FIR低通滤波器,Fs=4HZ,Fc=1.5HZ,Order=16,输入采样32个值恒定=1.那么滤波器输出是不是应该=1 ? 我用STM32的CMSIS库函数arm_fir_f32(&S, inputF32 + (i * blockSize), outputF32 + (i * blockSize), blockSize); 把输入缓冲区的数值全部为1,输出缓冲区数值却是随机的,这是为什么? ``` #define TEST_LENGTH_SAMPLES 16 /* 采样点数 */ #define BLOCK_SIZE 16 /* 调用一次arm_fir_f32处理的采样点个数 */ #define NUM_TAPS 15 //29 /* 滤波器系数个数 */ uint32_t blockSize = BLOCK_SIZE; uint32_t numBlocks = TEST_LENGTH_SAMPLES/BLOCK_SIZE; /* 需要调用arm_fir_f32的次数 */ static float32_t testInput_f32_50Hz_200Hz[TEST_LENGTH_SAMPLES]; /* 采样点 */ static float32_t testOutput[TEST_LENGTH_SAMPLES]; /* 滤波后的输出 */ static float32_t firStateF32[BLOCK_SIZE + NUM_TAPS - 1]; /* 状态缓存,大小numTaps + blockSize - 1*/ /* 低通滤波器系数 通过fadtool获取 FS=4HZ,FC=1.5HZ */ const float32_t firCoeffs32LP[NUM_TAPS] = { -0.002572332276, 0.006660863757, -0.01139776595,1.279498026e-17, 0.0481939055, -0.1315901577, 0.2148257494, 0.75, 0.2148257494, -0.1315901577, 0.0481939055,1.279498026e-17, -0.01139776595, 0.006660863757,-0.002572332276 }; int main(void) { uint8_t ucKeyCode; /* 按键代码 */ uint16_t i; for(i=0; i<16; i++) { testInput_f32_50Hz_200Hz[i] = 1.0; } while (1) { arm_fir_f32_lp(); //27ms执行周期 for(i=0; i<16; i++) { y=testOutput[i]; // timeDly(1000); } } } static void arm_fir_f32_lp(void) { uint32_t i; arm_fir_instance_f32 S; float32_t *inputF32, *outputF32; /* 初始化输入输出缓存指针 */ inputF32 = &testInput_f32_50Hz_200Hz[0]; outputF32 = &testOutput[0]; /* 初始化结构体S */ arm_fir_init_f32(&S, NUM_TAPS, (float32_t *)&firCoeffs32LP[0], &firStateF32[0], blockSize); /* 实现FIR滤波 */ // for(i=0; i < numBlocks; i++) //{ i=0; arm_fir_f32(&S, inputF32 + (i * blockSize), outputF32 + (i * blockSize), blockSize); // } } } ```
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
redis分布式锁,面试官请随便问,我都会
文章有点长并且绕,先来个图片缓冲下! 前言 现在的业务场景越来越复杂,使用的架构也就越来越复杂,分布式、高并发已经是业务要求的常态。像腾讯系的不少服务,还有CDN优化、异地多备份等处理。 说到分布式,就必然涉及到分布式锁的概念,如何保证不同机器不同线程的分布式锁同步呢? 实现要点 互斥性,同一时刻,智能有一个客户端持有锁。 防止死锁发生,如果持有锁的客户端崩溃没有主动释放锁,也要保证锁可以正常释...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Java世界最常用的工具类库
Apache Commons Apache Commons有很多子项目 Google Guava 参考博客
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车?某胡同口的煎饼摊一年能卖出多少个煎饼?深圳有多少个产品经理?一辆公交车里能装下多少个乒乓球?一个正常成年人有多少根头发?这类估算问题,被称为费米问题,是以科学家费米命名的。为什么面试会问这种问题呢?这类问题能把两类人清楚地区分出来。一类是具有文科思维的人,擅长赞叹和模糊想象,它主要依靠的是人的第一反应和直觉,比如小孩...
全网阅读过20k的Java集合框架常见面试题总结!
本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star!【Java学习 面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。欢迎 Star!)。 文末有我的公众号,公众号里有我最新整理的Java学习资料,免费分享。 这么好的文章,一定好先赞后看!!!建议养成这个好习惯!!爱你们!???? 剖析面试最常见问题之Java集合框架 当了...
17张图带你解析红黑树的原理!保证你能看懂!
二叉查找树 由于红黑树本质上就是一棵二叉查找树,所以在了解红黑树之前,咱们先来看下二叉查找树。 二叉查找树(Binary Search Tree),也称有序二叉树(ordered binary tree),排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树: 若任意结点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若任意结点的...
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。 背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法 不过,当我看了源代码之后 这程序不到50行 尽管我有多年的Python经验,但我竟然一时也没有看懂 当然啦,原作者也说了,这个代码也是在无聊中诞生的,平时撸码是不写中文变量名的, 中文...
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的回答,对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalking,作者吴晟、刘浩杨 等等 仓库地址: apache/skywalking 更...
相关热词 c# 引用mysql c#动态加载非托管dll c# 两个表数据同步 c# 返回浮点json c# imap 链接状态 c# 漂亮字 c# 上取整 除法 c#substring c#中延时关闭 c#线段拖拉
立即提问