如何将代码从C语言Matlab ?

278(30天)
Meshooo
Meshooo 2013年10月24日
评论道: 广告林恩2021年8月17日
亲爱的所有,
我有一个C语言编写的代码,检测细胞之间的共焦图像使用分水岭方法。我想用这在matlab的C代码。有什么方法可以这样做吗?
9日评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年4月15日
readtable()和writetable()扩展到很多代码——太多的手工转换。
显卡不支持通过MATLAB编码器。万博1manbetx没有C或c++标准绘制库(有几个相互竞争的标准,包括举和OpenGL和金属)

登录置评。

答案(23)

Azzi Abdelmalek
Azzi Abdelmalek 2013年10月24日
2的评论
Azzi Abdelmalek
Azzi Abdelmalek 2013年10月24日
Matlab编译器允许从m代码创建一个可执行文件;而Matlab编码器m代码转换为c或c++代码。墨西哥人文件允许运行你的c++和fortran文件在Matlab环境下,但没有m代码生成。

登录置评。


赵
2013年10月24日
我猜没有直接的方法。我考虑matlab代码转换为c。这应该是容易,但它仍然是不好的。
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 2016年10月27日
MATLAB编码器可以(一些)MATLAB代码转换为C。

登录置评。


沃尔特·罗伯森
沃尔特·罗伯森 2016年10月27日
如果你编译一个DLL的C,你可以使用 loadlibrary ()
注意:历史上,Unix . o文件(?)在相同的格式,所以(共享对象)历史上你没有 总是 要运行一个链接阶段,如果你有一个. o。

N /一个
N /一个 2017年11月28日
编辑:沃尔特·罗伯森 2017年11月28日
(真~ = 1)
我= 0;我< 25;我+ 1;
j = 0;j < 25;j + 1;
如果s[我]= [j] & &我~ =
匹配[k] =[我];
k = k + 1;
如果[我]~ =年代[j] & &我~ =
真的= 0;
结束
结束
结束
结束
结束
如何将这mathlab吗
2的评论
哈里Priya
哈里Priya 2019年3月27日
编辑:沃尔特·罗伯森 2019年5月5日
#包括< stdio . h >
#包括< math.h >
intmain ()
{
浮动x1, y1, x2, y2, vx, v, len, x3, y3,大小;
vx = (x1, x2);
v = y1 y2;
len =√(vx * vx) + (v * v));
x3 = vx / ((len *大小)+ x1);
y3 = v / ((len *大小)+ y1);
浮temp1, temp2角;
temp1 = y3-y1;
temp2 = x3-x1;
角=量化(temp1, temp2) + 1.57;
返回0;
}
我想将这段代码转换为matlab代码先生

登录置评。


达尼亚默罕默德
达尼亚默罕默德 2018年1月28日
编辑:沃尔特·罗伯森 2018年1月28日
开始{
highest_packet_id = 0;
}
{
action =美元1;
时间=美元3;
#从=美元3;
#=美元4;
类型=美元35;#aodv的关系,如果5不信息
pktsize =美元37;
#src =美元9;
#dst =美元10;
#seq_no =美元11;
packet_id =美元41;
如果(类型! =“AODV”){
如果(packet_id > highest_packet_id)
highest_packet_id = packet_id;
如果(start_time [packet_id] = = 0)
如果(类型= =“cbr”& &行动! =“d”){
如果(action = =“r”){
end_time [packet_id] =时间;
}
}其他的{
end_time [packet_id] = 1;
}
}
}
结束{
(packet_id = 0;packet_id < = highest_packet_id;packet_id + +) {
开始= start_time [packet_id];
结束= end_time [packet_id];
packet_duration =结束-开始;
如果(开始<结束printf ()“% % f \ n”开始,packet_duration);
}
}
请人帮我
我需要这段代码转换为matlab
我如何得到它?
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2018年1月28日
编辑:沃尔特·罗伯森 2018年1月28日
AWK版本你需要这个符合吗?
在MATLAB代码没有直接翻译,因为这段代码假定“标准输入”,MATLAB没有。MATLAB版本需要被告知哪些文件打开。
你知道你可以调用perl从MATLAB ?还有一个AWK Perl转换器: http://perldoc.perl.org/a2p.html

登录置评。


黄平君前
黄平君前 2018年3月11日
编辑:黄平君前 2018年3月11日
租赁人帮我我需要这段代码转换为matlab如何得到它? ? ?
#包括< stdio . h >
#包括< conio.h >
无效main ()
{
整数n, a, c, i, j。
int h k;
int hs [36], hsc [36], hsd [36];
printf (“好doi党Da thuc。\ n”);
printf (“川tac suy荣唱栓tac suy荣。\ n”);
printf (”弗吉尼亚州Nhap n h:“);
scanf (“% d”“% d % d”,和n h);
printf (”弗吉尼亚州Nhap c k:“);
scanf (“% d % d”等等,大部分);
hsd [n] = 0;
(i = 0;我< = n;我+ +){
printf (”他Nhap农村村民因此% d:“,我);
scanf (“% d”,hs[我]);}
printf (“\ n % 5 s”,”“);
(i = n;我> = 0;我(){
printf (“% 5 d”hs[我]);}
(j = 0; < n; j + +) {
(我> = = n - 1; j,我——){
hsc [j] = c + (j * k);
hsd[我]= (hsc [j]——+ ((j-i) * h));/ / hsd[我]= (c + (j * k)——+ (h (j-i) *));
海关hs[我]+[我]= hs (i + 1) * hsd[我];/ / hs[我]= hs[我]+ hs (i + 1) * (c + (j * k)——+ (h (j-i) *));}
printf (“\ n % 5 s”,”“);
(i = n;我> = j;我(){
printf (“% 5 d”hsd[我]);}
printf (“\ n % 5 d”,hsc [j]);
(i = n;我> = j;我(){
printf (“% 5 d”hs[我]);}}
printf (“\ n \ nVoi c = % d va k = % d, cac他cua da thuc莫伊拉:\ n”c k);
(i = 0;我< = n;我+ +){
printf (“% 5 d”hs[我]);}
getch ();}
4评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年2月7日
编辑:沃尔特·罗伯森 2021年2月8日
下面的代码需要被审查,因为它不做同样的事情,C代码。
  1. m的C表达式的平方根S1和立即平方,并添加到S2和S3的广场。这似乎不太可能是想要什么:这是更有可能你会广场S1, S2和S3,添加这些方块,取平方根。
  2. C表达式计算R, G都失踪),所以会编译失败。我不得不猜测)通过类比计算B。
  3. C表达式写输出文件将无法编译,或者编译要么崩溃,要么做一个随机的事情。这是因为一个文件使用的流标识符命名为RGB,这并不是一个程序中定义的变量。以下的MATLAB代码是不同的,因为它实际上写入到一个文件的变量。
  4. C exponentation不使用* *。C没有exponentation运营商,转而使用战俘()函数。你就不会用C编译代码。
C代码似乎打算写一个文件名为“RGB。xls”但它标签分隔文本。这是令人困惑的,可能会导致问题。我建议你写真正的xls文件或者你写. tsv或. txt文件。写真正的xls文件,使用 writematrix (RGB RGB.xls) 没有进一步的选择。写. tsv或. txt文件,更改文件扩展名的writematrix()调用我提供。
与我提供的代码还有另一个不同之处:我读整个输入文件和输出,不仅第n个点。
在未来,当你问别人为你转换代码,你应该确保它 工作 代码,所以,他们没有猜测代码的目的是做什么。
S = fileread (“I1Q1.bin”);
IQ1 = sscanf(年代,' % f ');
S = fileread (“I2Q2.bin”);
IQ2 = sscanf(年代,' % f ');
I1 = IQ1(1:2:结束);
Q1 = IQ2(2:2:结束);
I2 = IQ2(1:2:结束);
Q2 = IQ2(2:2:结束);
一个= I1。^ 2 + Q1。^ 2;
B = I2。^ 2 + Q2。^ 2;
S0 = A + B;
S1 = A - B;
S2 = 2 * (I1。* I2 + Q1。* Q2);
S3 = 2 * (Q1。* I2 - Q2。* I1);
m =√S1。^ 2 + S2。^ 2 + S3。^ 2) / S0;%检查这个! ! !(1)
δ=量化(S3, S2);
R =√S0。* m。*(1 +罪(δ)/ 2));%检查这个! ! !(2)
G =√S0。* m。* (1-sin(δ)/ 2));%检查这个! ! !(2)
B = sqrt (S0 * (1 - m));
RGB = [R (:), G (:), B ()):;
writematrix (RGB,“RGB.xls”,“文件类型”,“文本”,“分隔符”,' \ t ');%检查这个! ! !(3)

登录置评。


Barenya比哈札里卡
Barenya比哈札里卡 2018年6月20日
有人能把这个C代码matlab ?
#包括< stdio . h >
#定义MAX_SIZE5
intmain ()
{
arr int [MAX_SIZE];% MAX_SIZE声明一个数组
int i, j N;
/ /输入数组的大小
printf (输入数组的大小:“);
scanf (“% d”,n);
/ /输入元素的数组
printf (“输入% d数组中的元素:“N);
(i = 0;我< N;我+ +)
{
scanf (“% d”,arr[我]);
}
/ /打印所有数组的元素
printf (“数组是:\ nElements”);
(i = 0;我< N;我+ +)
{
(j =我;j < N;j + +)
{
printf (“% d。”,arr (i, j));
}
printf (“\ n”);
}
返回0;
}
3评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年3月3日
MATLAB没有任何相当于scanf ()。scanf()从标准输入读取但MATLAB没有标准输入。最接近的MATLAB已经是使用输入“s”选项()和sscanf()生成的特征向量。

登录置评。


kavan戴夫
kavan戴夫 2018年7月8日
公共空白BlogECGExample ()
{
/ /定义自己的dataDir
var dataDir =“................”;
/ /加载心电图波从physionet.org数据文件。
文件名=路径字符串。结合(dataDir“ECG_AAMIEC13.data.txt”);
字符串行;
int问= 0;
FloatVector ecgMeasurement = new FloatVector (3000);
var fileStrm =新先。StreamReader(文件名);
fileStrm.ReadLine ();fileStrm.ReadLine ();
((= fileStrm.ReadLine行())! = null cnt & & < 3000)
{
ecgMeasurement[问]=单身。解析(line.Split (”、“)[1]);
问+ +;
}
/ /选择小波
var小波= new FloatWavelet (Wavelet.Wavelets。D4);
/ /构建DWT对象
vardwt = new FloatDWT (ecgMeasurement.DataBlock。数据小波);
/ /分解信号DWT 5级
dwt。(5)分解;
/ /找到普遍的阈值和阈值与lambdaU所有细节层次
lambdaU = dwt。ComputeThreshold (FloatDWT.ThresholdMethod。普遍的,1);
dwt。ThresholdAllLevels (FloatDWT.ThresholdPolicy。软,新的双[]{lambdaU、lambdaU lambdaU, lambdaU, lambdaU});
/ /重建一级-原始信号(过滤)的信号。
浮动[]reconstructedData = dwt.Reconstruct ();
/ /显示DWT结果。
BlogECGExampleBuildCharts (dwt ecgMeasurement reconstructedData);
}
公共空白BlogECGExampleBuildCharts (FloatDWT dwt, FloatVector ECGMeasurement,浮动[]ReconstructedData)
{
/ /分配各级近似的分解。
var approxAllLevels = new FloatVector ();
(int n = 5;n > 0;n——)
{
var约= new FloatVector (dwt)。WaveletCoefficients (DiscreteWaveletTransform.WaveletCoefficientType。近似,n));
approxAllLevels。追加(新FloatVector(大约));
}
vardetailsAllLevels = new FloatVector ();
(int n = 5;n > 0;n——)
{
var约= new FloatVector (dwt)。WaveletCoefficients (DiscreteWaveletTransform.WaveletCoefficientType。细节,n));
detailsAllLevels。追加(新FloatVector(大约));
}
/ /创建和显示图表。
图表chart0 = NMathChart。ToChart (detailsAllLevels);
chart0.Titles.Add (“5级连接DWT细节”);
chart0.ChartAreas [0] .AxisY。Title =“DWT细节”;
chart0。身高= 270;
NMathChart。显示(chart0 );
图表chart1 = NMathChart。ToChart (approxAllLevels);
chart1.Titles.Add (“5级连接DWT近似”);
chart1.ChartAreas [0] .AxisY。Title =“DWT近似”;
chart1。身高= 270;
NMathChart。显示(chart1 );
图表chart2 = NMathChart。ToChart((新FloatVector (ReconstructedData))(新切片(500500)));
chart2.Titles [0]。文本=“阈值和重建的心电图信号”;
chart2.ChartAreas [0] .AxisY。Title =“mV”;
chart2。身高= 270;
NMathChart。显示(chart2 );
图表图3 = NMathChart。ToChart((新FloatVector (ECGMeasurement))(新切片(500500)));
chart3.Titles [0]。文本=“原始ECG信号”;
chart3.ChartAreas [0] .AxisY。Title =“mV”;
图3。身高= 270;
NMathChart。显示(chart3 );
}
你能告诉我如何将这段代码转换为matlab代码?写在什么地方公共无效()
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2018年7月8日
在MATLAB,相当于
公共空白BlogECGExample ()
函数BlogECGExample
与代码存储在BlogECGExample.m

登录置评。


Mahboubeh Parastarfeizabadi
Mahboubeh Parastarfeizabadi 2018年7月27日
编辑:沃尔特·罗伯森 2018年7月27日
谁能帮我把这个Matlab C代码:
#包括“FFilter.h”
静态int filter_taps [FFILTER_TAP_NUM] = {
158年,
2,
2,
1,
1,
1,
0,
0,
1,
2,
2,
3,
5,
6,
7,
9日,
-10年,
-12年,
-14年,
-15年,
-18年,
-20年,
-22年,
-24年,
-26年,
-29年,
-31年,
-34年,
-36年,
-39年,
-41年,
-44年,
-46年,
-48年,
-50年,
-52年,
-53年,
-55年,
-56年,
-57年,
-58年,
-58年,
-58年,
-57年,
-57年,
-56年,
-54年,
-52年,
-50年,
-47年,
-44年,
-41年,
-37年,
-33年,
-28年,
-23年,
-18年,
-12年,
7,
1,
6,
12日,
18日,
25日,
31日,
38岁的
44岁的
51岁,
57岁的
63年,
69年,
74年,
80年,
84年,
89年,
93年,
97年,
One hundred.
103年,
105年,
106年,
107年,
108年,
108年,
107年,
106年,
104年,
102年,
99年,
96年,
92年,
88年,
84年,
78年,
73年,
67年,
61年,
55岁,
48岁的
42岁的
35岁,
28日,
21日,
14日,
7,
0,
7,
-13年,
-20年,
-26年,
-31年,
-37年,
-42年,
-47年,
-51年,
-55年,
-59年,
-62年,
-65年,
-67年,
-69年,
-70年,
-71年,
-71年,
-71年,
-70年,
-69年,
-68年,
-66年,
-64年,
-62年,
-59年,
-56年,
-53年,
-50年,
-46年,
-43年,
-39年,
-35年,
-31年,
-28年,
-24年,
-21年,
-18年,
-15年,
-12年,
9日,
7,
5,
4,
2,
2,
1,
1,
2,
2,
4,
5,
7,
-10年,
-12年,
-15年,
-19年,
-22年,
-26年,
-30年,
-34年,
-38年,
-43年,
-47年,
-51年,
-55年,
-59年,
-63年,
-66年,
-69年,
-72年,
-75年,
-77年,
-78年,
-79年,
-80年,
-80年,
-79年,
-78年,
-76年,
-74年,
-71年,
-67年,
-63年,
-58年,
-53年,
-47年,
-40年,
-34年,
-26年,
-19年,
-11年,
2,
6,
15日,
23日,
32岁的
41岁的
49岁,
58岁的
66年,
74年,
82年,
89年,
96年,
102年,
108年,
113年,
117年,
121年,
124年,
126年,
128年,
128年,
129年,
128年,
127年,
124年,
122年,
118年,
114年,
110年,
104年,
99年,
93年,
86年,
80年,
73年,
66年,
58岁的
51岁,
44岁的
37岁的
30.
24日,
18日,
12日,
7,
2,
2,
5,
8日,
-10年,
-12年,
-12年,
-12年,
-11年,
-10年,
7,
4,
1,
4,
9日,
14日,
20.
27日,
34岁,
41岁的
48岁的
55岁,
63年,
70年,
77年,
84年,
91年,
97年,
102年,
107年,
111年,
114年,
117年,
118年,
118年,
117年,
115年,
111年,
106年,
One hundred.
93年,
84年,
74年,
62年,
49岁,
35岁,
20.
3,
-14年,
-33年,
-53年,
-73年,
-94年,
-116年,
-138年,
-161年,
-184年,
-206年,
-229年,
-252年,
-274年,
-295年,
-316年,
-336年,
-354年,
-372年,
-388年,
-402年,
-415年,
-426年,
-436年,
-443年,
-448年,
-450年,
-451年,
-449年,
-445年,
-438年,
-429年,
-417年,
-403年,
-386年,
-367年,
-346年,
-322年,
-297年,
-269年,
-239年,
-208年,
-175年,
-140年,
-104年,
-67年,
-29年,
9日,
49岁,
88年,
128年,
167年,
206年,
245年,
283年,
319年,
355年,
389年,
421年,
452年,
480年,
507年,
531年,
552年,
571年,
588年,
601年,
612年,
619年,
624年,
625年,
624年,
619年,
612年,
601年,
588年,
571年,
552年,
531年,
507年,
480年,
452年,
421年,
389年,
355年,
319年,
283年,
245年,
206年,
167年,
128年,
88年,
49岁,
9日,
-29年,
-67年,
-104年,
-140年,
-175年,
-208年,
-239年,
-269年,
-297年,
-322年,
-346年,
-367年,
-386年,
-403年,
-417年,
-429年,
-438年,
-445年,
-449年,
-451年,
-450年,
-448年,
-443年,
-436年,
-426年,
-415年,
-402年,
-388年,
-372年,
-354年,
-336年,
-316年,
-295年,
-274年,
-252年,
-229年,
-206年,
-184年,
-161年,
-138年,
-116年,
-94年,
-73年,
-53年,
-33年,
-14年,
3,
20.
35岁,
49岁,
62年,
74年,
84年,
93年,
One hundred.
106年,
111年,
115年,
117年,
118年,
118年,
117年,
114年,
111年,
107年,
102年,
97年,
91年,
84年,
77年,
70年,
63年,
55岁,
48岁的
41岁的
34岁,
27日,
20.
14日,
9日,
4,
1,
4,
7,
-10年,
-11年,
-12年,
-12年,
-12年,
-10年,
8日,
5,
2,
2,
7,
12日,
18日,
24日,
30.
37岁的
44岁的
51岁,
58岁的
66年,
73年,
80年,
86年,
93年,
99年,
104年,
110年,
114年,
118年,
122年,
124年,
127年,
128年,
129年,
128年,
128年,
126年,
124年,
121年,
117年,
113年,
108年,
102年,
96年,
89年,
82年,
74年,
66年,
58岁的
49岁,
41岁的
32岁的
23日,
15日,
6,
2,
-11年,
-19年,
-26年,
-34年,
-40年,
-47年,
-53年,
-58年,
-63年,
-67年,
-71年,
-74年,
-76年,
-78年,
-79年,
-80年,
-80年,
-79年,
-78年,
-77年,
-75年,
-72年,
-69年,
-66年,
-63年,
-59年,
-55年,
-51年,
-47年,
-43年,
-38年,
-34年,
-30年,
-26年,
-22年,
-19年,
-15年,
-12年,
-10年,
7,
5,
4,
2,
2,
1,
1,
2,
2,
4,
5,
7,
9日,
-12年,
-15年,
-18年,
-21年,
-24年,
-28年,
-31年,
-35年,
-39年,
-43年,
-46年,
-50年,
-53年,
-56年,
-59年,
-62年,
-64年,
-66年,
-68年,
-69年,
-70年,
-71年,
-71年,
-71年,
-70年,
-69年,
-67年,
-65年,
-62年,
-59年,
-55年,
-51年,
-47年,
-42年,
-37年,
-31年,
-26年,
-20年,
-13年,
7,
0,
7,
14日,
21日,
28日,
35岁,
42岁的
48岁的
55岁,
61年,
67年,
73年,
78年,
84年,
88年,
92年,
96年,
99年,
102年,
104年,
106年,
107年,
108年,
108年,
107年,
106年,
105年,
103年,
One hundred.
97年,
93年,
89年,
84年,
80年,
74年,
69年,
63年,
57岁的
51岁,
44岁的
38岁的
31日,
25日,
18日,
12日,
6,
1,
7,
-12年,
-18年,
-23年,
-28年,
-33年,
-37年,
-41年,
-44年,
-47年,
-50年,
-52年,
-54年,
-56年,
-57年,
-57年,
-58年,
-58年,
-58年,
-57年,
-56年,
-55年,
-53年,
-52年,
-50年,
-48年,
-46年,
-44年,
-41年,
-39年,
-36年,
-34年,
-31年,
-29年,
-26年,
-24年,
-22年,
-20年,
-18年,
-15年,
-14年,
-12年,
-10年,
9日,
7,
6,
5,
3,
2,
2,
1,
0,
0,
1,
1,
1,
2,
2,
158年
};
无效FFilter_init (FFilter * f) {
int;
(i = 0;我< FFILTER_TAP_NUM;+ + i)
f - >历史[我]= 0;
f - > last_index = 0;
}
无效FFilter_put (FFilter * f, int输入){
f - >历史(f - > last_index + +) =输入;
如果(f - > last_index = = FFILTER_TAP_NUM)
f - > last_index = 0;
}
intFFilter_get (FFilter * f) {
长acc = 0;
int指数= f - > last_index,我;
(i = 0;我< FFILTER_TAP_NUM;+ + i) {
指数=指数! = 0 ?索引1:FFILTER_TAP_NUM-1;
acc+ =(很久)f - >历史(指数)* filter_taps[我];
};
返回acc> > 16;
}
#如果未定义FFILTER_H_
#定义FFILTER_H_
/ *
冷杉滤波器设计
http://t-filter.appspot.com
抽样频率:2000赫兹
固定点精度:16位
* 0 Hz - 10赫兹
获得= 0
想要的衰减= -40分贝
实际衰减= n / a
* 13赫兹- 30 Hz
获得= 1
想要的涟漪= 5分贝
实际涟漪= n / a
* 33 Hz - 1000赫兹
获得= 0
想要的衰减= -40分贝
实际衰减= n / a
* /
#定义FFILTER_TAP_NUM723年
类型定义结构体{
int历史[FFILTER_TAP_NUM];
无符号int last_index;
}FFilter;
无效FFilter_init (FFilter * f);
无效FFilter_put (FFilter * f, int输入);
intFFilter_get (FFilter * f);
#endif

克里斯蒂安·Macavei
克里斯蒂安·Macavei 2019年1月3日
有人能帮我转换为matlab吗?
#包括< stdio . h >
#包括< stdlib.h >
#包括< math.h >
#如果未定义M_PI
#定义M_PI3.1415926535897
#endif
intmain ()
{
int n;
浮动proiectieX [100], proiectieY [100];
printf (“Numar de vectori:“);
scanf (“% d”,n);
(int i = 1;我< = n;+ + i)
{
浮动θ;
浮动模块;
printf (“Modulul vectorului % d si unghiul dintre牛si向量:年级”,我);
scanf (“% % f”模件,θ);
如果(模件< 0)继续;
θ=θ* M_PI) / 180.0 f;
proiectieX[我]= cos(θ)*模块;
proiectieY[我]=罪(θ)*模块;
}
(int i = 1;我< = n;+ + i)
{
printf (“Proiectiile vectorului % d: % g % g \ n”,我,proiectieX[我],proiectieY[我]);
}
返回0;
}
3评论
沃尔特·罗伯森
沃尔特·罗伯森 2019年2月22日
你应该开始一个新的问题。
有必要重复相同的随机数生成器的兼容性,或者你可以使用rand()和irand () ?
readln的实现()必须bug-for-bug兼容,或者你可以使用fgetl () ?
我们需要知道哪些编译器和编译器释放这段代码的目的是,为了找出如何处理的62挂在main()的开始。这不是合法的C或c++,但由于编译器允许扩展,也许这是一个指示编译器链接属性,或者这是一个插入的机器代码指令。

登录置评。


EROL EREN GOZLU
EROL EREN GOZLU 2019年5月5日
#包括< math.h >
#包括< stdio . h >
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
*
*名称:mag_est.c
*
*简介:
*
*显示和测试“α*分钟+β*马克斯”大小
*估计算法。
*
*描述:
*
*这个程序展示了“阿尔法”算法
*估计复数的大小。相比
*计算直接使用√6级(我问^ ^ 2 + 2),这
*估计是非常快。
*
*不同的价值观α和β的RMS中可用于贸易
*误差、峰值错误,系数的复杂性。这个程序
*包括一个表最有用的值,它打印出
*产生的均方根和峰值错误。
*
* 1999(版权授予r·格里芬
*
*宽开放许可证(WOL)
*
*许可使用、复制、修改、分发和销售这个软件
*及其文档为任何目的特此授予
*费用,提供上述版权声明和本许可
*出现在所有源副本。这个软件提供了“是”
*没有表达任何形式的或暗示的保证。看到
* http://scopeplot.com/dg/wol.htm更多的信息。
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
alpha_beta_mag(双α,β双,双同相的,
交)
{
/ * ~ =α*级max(我| | | Q |) +β*分钟(我| | | | Q) * /
双abs_inphase =晶圆厂(同相的);
双abs_quadrature =晶圆厂(正交);
如果(abs_inphase > abs_quadrature) {
返回α* abs_inphase +β* abs_quadrature;
}其他的{
返回α* abs_quadrature +β* abs_inphase;
}
}
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
分贝(双线性)
{
#定义小1 e-20
如果(线性< =小){
线性=小;
}
返回20.0 * log10(线性);
}
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
无效test_alpha_beta (char *名称、双α,双β,
intnum_points)
{
#定义3.141592653589793π
int二世;
双阶段,真实,图像放大,呃,avg_err, rms_err;
双peak_err = 0.0;
双sum_err = 0.0;
双sum_err_sqrd = 0.0;
双delta_phase =(2.0 *π)/ num_points;
(2 = 0;二< num_points;ii + +) {
第二阶段= delta_phase *;
真正的= cos(阶段);
图像放大=罪(阶段);
呃= sqrt(真正的* + *图像放大图像放大)
——alpha_beta_mag(α,β,真实,图像放大);
sum_err+ =犯错;
sum_err_sqrd+ =呃呃;
呃=晶圆厂(err);
如果(犯错> peak_err) {
peak_err =犯错;
}
}
avg_err = sum_err / num_points;
rms_err =√sum_err_sqrd / num_points);
printf (-16年代“% % 14.12低频% 14.12低频% 9.6低频% 4.1低频% 4.1低频\ n”,
名字,α,β,avg_err分贝(rms_err),
分贝(peak_err));
}
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
无效主要(空白)
{
#定义NUM_CHECK_POINTS 100000
typedef struct tagALPHA_BETA {
char *名称;
双α;
双β;
}ALPHA_BETA;
#定义NUM_ALPHA_BETA 16
const ALPHA_BETA多项式系数[NUM_ALPHA_BETA] = {
{“最小均方根犯错”,0.947543636291,0.3924854250920},
{“最小峰值犯错”,0.960433870103,0.3978247347593},
{“最小均方根w / Avg = 0”,0.948059448969,0.3926990816987},
{“1分钟RMS犯错”,1.0,0.323260990},
{“1分钟峰值犯错”,1.0,0.335982538},
{“1、1/2”,1.0,1.0/2.0},
{“1、1/4”,1.0,1.0/4.0},
{“弗雷尔金”,1.0,0.4},
{“1 11/32”,1.0,11.0/32.0},
{“1 3/8”,1.0,3.0/8.0},
{“15/16 15/32”15.0/16.0 15.0/32.0},
{“15/16,1/2”15.0/16.0 1.0/2.0},
{“31/32 11/32”31.0/32.0 11.0/32.0},
{“31/32 3/8”31.0/32.0 3.0/8.0},
{“61/64 3/8”61.0/64.0 3.0/8.0},
{“61/64 13/32”61.0/64.0 13.0/32.0}
};
int二世;
printf (“\ nα* Max +β*分钟级估计\ n \ n”);
printf (“名字αβAvg犯错RMS \ n峰值”);
printf (”(线性)(dB) (dB) \ n”);
printf (”- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ n”);
(2 = 0;二< NUM_ALPHA_BETA;ii + +) {
test_alpha_beta(多项式系数[2]. name,多项式系数[2]。α,多项式系数[2]。β,1024);
}
}
谁能把这段代码转换成matlab吗?
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2019年5月5日
你应该开始一个新的问题。当你,我建议你尝试转换后,和特殊的问题,如错误消息后你遇到。

登录置评。


MADHUMITHA米
MADHUMITHA米 2019年5月28日
我们可以能够转换为MATLAB呢
#包括< stdint.h >
静态内联uint64_t洛特尔(const uint64_t x, int k)
{
返回(x < < k) | (x > > (64 - k));
}
静态uint64_t s [2];
uint64_t下(void) {
常量uint64_t s0 = s [0];
uint64_ts1 = s [1];
常量uint64_t结果= s0 + s1;
s1^ = s0;
s[0] =洛特尔(s0、24) ^ ^ s1 (s1 < < 16);/ / a, b
s[1] =洛特尔(s1, 37);/ / c
返回结果;
}
无效跳(void) {
静态const uint64_t跳[]= {0 xdf900294d8f554a5, 0 x170865df4b3201fc};
uint64_ts0 = 0;
uint64_ts1 = 0;
(int i = 0;我< sizeof跳/运算符*跳;我+ +)
(int b = 0;b < 64;b + +) {
如果(跳[我]& UINT64_C (1) < < b) {
s0^ = s [0];
s1^ = s [1];
}
next ();
}
s [0] = s0;
s [1] = s1;
}
/ *这是跳远运动函数发生器。它相当于
2 ^ 96个电话下();它可用于生成2 ^ 32起点,
每个跳()将产生2 ^ 32重叠
子序列的并行分布式计算。* /
无效long_jump (void) {
静态const uint64_t LONG_JUMP [] = {0 xd2a98b26625eee7b, 0 xdddf9b1090aa7ac1};
uint64_ts0 = 0;
uint64_ts1 = 0;
(int i = 0;我< sizeof LONG_JUMP /运算符* LONG_JUMP;我+ +)
(int b = 0;b < 64;b + +) {
如果(LONG_JUMP[我]& UINT64_C (1) < < b) {
s0^ = s [0];
s1^ = s [1];
}
next ();
}
s [0] = s0;
s [1] = s1;
}
8的评论
Madhumitha Munusamy
Madhumitha Munusamy 2019年8月19日
非常感谢先生。
我将运行代码并让你知道输出

登录置评。


鲁本NAHUE
鲁本NAHUE 2019年6月8日
编辑:沃尔特·罗伯森 2020年8月22日
你好,请能帮助我如何将这段代码转换为MATLAB。
函数(L1, L2, U1, U2) =柯列斯基(一个;b;c)
n =长度(一个);
对角线= 0 (1;n);
子= 0 (1;n - 1);
如果(1)> 0
对角线(1)=√(1));
子(1)= b(1) /对角线(1);
k = 2;
鳍= 0;
k < = n ^鳍= = 0
如果(k)——子(k - 1) ^ 2 > 0
对角线(k =√(k)——子(k - 1) ^ 2);
如果对角线(k) = 0 ^ k < n
子(k) = b (k) /对角线(k);
其他的如果对角线(k) = = 0
流(“为什么大马鲛分工”)
鳍= 1;
如果
其他的
流(“为什么大马鲛分工”)
鳍= 1;
如果
k = k + 1
结束时
流(“英勇negativo en la posicion(1),没有机构ejecutar el metodo”)
如果
2的评论

登录置评。


Madhumitha Munusamy
Madhumitha Munusamy 2019年9月23日
我有一个小问题。有人能帮我
我有一个OFDM matlab代码。我想取代循环前缀的NPR过滤分析性能,但它显示错误。
下面我给我的matlab代码和过滤器

NIPUNA RAVEENDRAN
NIPUNA RAVEENDRAN 2020年2月13日
有人能把这个C代码matlab ?
/ / 2 d混合中值滤波器的实现
/ /图像输入图像
/ /结果,输出图像
/ / N -宽度图像
/ / M -高度图像
无效_hybridmedianfilter(常量元素*形象,元素*因此,int, int)
{
/ /移动窗口图像的所有元素
(int m = 1;m < m - 1;+ + m)
(int n = 1;n < n - 1;+ + n)
{
元素窗口[5];
元素的结果[3];
/ /取cross-window元素
图像窗口[0]= [(m - 1) * N + N);
图像窗口[1]= [m * N + N - 1];
窗口[2]= [m * N + N]形象;
图像窗口[3]= [m * N + N + 1];
图像窗口[4]= [(m + 1) * N + N);
/ /获取值
结果[0]=(窗口,5)中位数;
/ /取图形界面元素
图像窗口[0]= [(m - 1) * N + N - 1];
图像窗口[1]= [(m - 1) * N + N + 1);
窗口[2]= [m * N + N]形象;
图像窗口[3]= [(m + 1) * N + N - 1];
图像窗口[4]= [(m + 1) * N + N + 1);
/ /获取值
结果[1]=(窗口,5)中位数;
/ /主要元素
结果[2]= [m * N + N]形象;
/ /得到结果
结果[(m - 1) * (N - 2) + N - 1) =(结果,3)中位数;
}
}
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年2月13日
% / / 2 d混合中值滤波器实现
% / /图像输入图像
% / /结果,输出图像
% / / N -图像的宽度
% / / M -图像的高度
函数结果= hybridmedianfilter(形象,N, M)
% / /移动窗口图像的所有元素
m = 1: m - 2
n = 1: n
%接cross-window元素
图像窗口(0 + 1)= ((m - 1) * N + N + 1);
窗口图像(1 + 1)= (m * N + N - 1 + 1);
图像窗口(2 + 1)= (m * N + N + 1);
图像窗口(3 + 1)= (m * N + N + 1 + 1);
窗口图像(4 + 1)= ((m + 1) * N + N + 1);
% / /中位数
结果(0 + 1)=值(窗口);
% / /图形界面元素
图像窗口(0 + 1)= ((m - 1) * N + N - (1 + 1);
窗口图像(1 + 1)= ((m - 1) * N + N + 1 + 1);
图像窗口(2 + 1)= (m * N + N + 1);
图像窗口(3 + 1)= ((m + 1) * N + N - (1 + 1);
图像窗口(4 + 1)= ((m + 1) * N + N + 1 + 1);
% / /中位数
结果(1 + 1)=(窗口)中位数;
% / /接主要元素
结果图像(2 + 1)= (m * N + N + 1);
% / /得到结果
结果((m - 1) * (N - 2) + N - 1 + 1) =值(结果);
结束
结束
注意,中位数()不属于C或c++。这一点很重要,因为一些常见的实现中值()不使用相同的顺序或参数的意义,所以我们要想实现你的使用和参数的意义是什么。
在实践中没有人会这样编写代码。
在实践中有一个重要的机会,这段代码将不会做你想做的事,除非你进口一大堆其他代码存储数组在使用相同的顺序。

登录置评。


约西亚桑多瓦尔市
约西亚桑多瓦尔市 2020年5月31日
有人能把这个matlab C代码吗?
#包括< stdio . h >
#包括< stdlib.h >
文件* f1* f2;
intVth = 10s = 0 d = 0;
无效阿兹特克(int Vth) {/ * Entrada thresold * /
枚举{高原斜坡};
Vmx,Vmxi Vmn Vmni;
intV,
LineMode =高原,/ *籼稻modo高原斜坡* /
LineLen = 1,
V1,
T1,
Vsi,
Tsi,
符号,
AZT;
int数= 0np = 0, ns = 0, sp = 0,党卫军= 0;
fscanf (f1,“% x \ n”,增加了);
数+ +;
Vmni = Vmxi = V;
AZT = V;
LineMode =高原;
(! feof (f1)) {
(LineLen < 51) {
LineLen + +;
如果(feof (f1))打破;
fscanf (f1,“% x \ n”,增加了);
数+ +;
Vmx = Vmxi;
Vmn = Vmni;
如果(Vmx < V) Vmxi = V;
如果(Vmn > V) Vmni = V;
如果((Vmxi-Vmni) > = Vth)打破;
}
T1 = LineLen-1;
V1 = (Vmx + Vmn) > > 1;
如果(LineMode = =高原){
如果(T1 > 2) {
流(f2,“% 04 x \ n”,T1);
流(f2,“% 04 x \ n”V1);
sp + = T1;np + +;
AZT = V1;
}
其他的{
LineMode =斜率;
如果((V1-AZT) < 0)标志= 1;
其他的标志= 1;
Tsi = T1;
Vsi = V1;
}
}
其他的{
如果(T1 > 2) {
流(f2,“% 04 x \ n”tsi);
流(f2,“% 04 x \ n”Vsi);
流(f2,“% 04 x \ n”,T1);
流(f2,“% 04 x \ n”V1);
sp + = T1;np + +;
ss + = Tsi;ns + +;
AZT = V1;
LineMode =高原;
}
其他的{
如果(((V1-Vsi) *标志)< 0){
流(f2,“% 04 x \ n”tsi);
流(f2,“% 04 x \ n”Vsi);
ss + = Tsi;ns + +;
AZT = Vsi;
Tsi = T1;
Vsi = V1;
标志* = 1;
}
其他的{
Tsi + = T1;
Vsi = V1;
}
}
}
Vmxi = Vmni = V;
LineLen = 1;
}
printf (“\ nNumero de样品tratadas: % d”数);
printf (“\ nNumero de lineas generadas: % 5 d \ tsuma: % d”、np、sp);
printf (“\ nNumero de rampas generadas: % 5 d \ tsuma: % d”、ns、ss);
}
3评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年6月2日
当我经历这段代码,在我看来好像代码旨在从这件获取其输入和输入发送到某个地方我无法告诉。但目前尚不清楚的代码;它只依赖于两个文件已经打开(或连接)。
这件是你的目的和实时脑电压缩吗?这就是整个的前提、实时压缩。或你有脑电图的文件输入您想要应用他们的阿兹特克算法?如果然后输入格式是什么?
我不想经历的麻烦加载开发系统工作的意义通过一些不太清楚的部分代码。设备当前20多年前;我怀疑我能在我的Mac上运行开发系统,和我没有一个设备,我没有测试所需的外围设备。
我建议你使用描述的思想,和框图为了从头开始编写代码,你已经在脑电图上使用文件。我可以看到从阿兹特克的代码算法只适用于使用一个输入通道,所以您可能还想提高处理多个频道。

登录置评。


鲅鱼Setiaji
鲅鱼Setiaji 2020年6月14日
亲爱的所有,
我有一个C语言编写的代码,检测细胞之间的共焦图像使用分水岭方法。我想用这在matlab的C代码。有什么方法可以这样做吗?
静态void Main (string [] args)
{
随机随机= new随机();
int counter = 0;
双deviasi = 50;
双的意思= 1000;
双[]数据= {0.0,0.0};
(柜台< 2){
兰德= random.NextDouble ();
y = deviasi *兰特+的意思;
如果(y > = 999.5) {
如果(y < = 1000.5) {
数据(柜台)= y;
计数器+ +;
}
}
}
Console.WriteLine(数据[0]+”“+数据[1]);
Console.ReadKey ();
}
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年6月27日
counter = 1;
deviasi = 50;
意味着= 1000;
data = [0。0);
计数器< = 2
y = deviasi *兰特+的意思;
如果> = 999.5 & & y < = 1000.5
数据(柜台)= y;
counter = counter + 1;
结束
结束
流(“% g % g \ n”、数据);
暂停()

登录置评。


助教Huu大
助教Huu大 2020年6月27日
编辑:沃尔特·罗伯森 2020年6月27日
你可以帮我修理它吗? ?
清晰;
clc;
删除(instrfind);
图;
θ= 0:1:180
i = 1:1:50
x1 (i) =我* cosθ* 3.14/180);
日元(i) =我* sin(θ* 3.14/180);
结束
情节(0,0,(x1, y1),“颜色”,‘g’,“线宽”10);
持有;
结束
包含(“距离(cm)”);
R = 10:10:50
k = 1;
i = 0:1:180
x (k) = R * cos(我* 3.14/180);
y (k) = R * sin(我* 3.14/180);
k = k + 1;
结束
情节(x, y,“颜色”,“k”,“线宽”4);
持有;
结束
θ= 0:30:180
i = 1:1:50
x11 (i) =我* cosθ* 3.14/180);
去年(i) =我* sin(θ* 3.14/180);
结束
情节(0,0,x11,去年“颜色”,“k”,“线宽”4);
持有;
结束
标签= cellstr (num2str ([0:30:180] '));
文本((50 * 50 * cos(0),因为(3.18/6);50 * cos (2 * 3.18/6); 50 * cos (3 * 3.18/6); 50 * cos (4 * 3.18/6); 50 * cos (5 * 3.18/6); 50 * cos (3.18)], [50 * sin (0); 50 * sin(3.18/6); 50 *罪(2 * 3.18/6);50 *罪(3 * 3.18/6);50 *罪(4 * 3.18/6);50 *罪(5 * 3.18/6);50 * sin(3.18)],标签,“写成BackgroundColor”,(。7。9 7]);
s =系列(“COM10”);
s.BaudRate = 9600;
fopen (s);
(1)
如果(fscanf(年代,' % f ')= =“。”)= = (1 0 0)
角= fscanf(年代,' % f ');
距离= fscanf(年代,' % f ');
elseif(fscanf(年代,' % f ')= =“。”)= = (1 0 0)
角= fscanf(年代,' % f ');
距离= fscanf(年代,' % f ');
其他的
fscanf(年代,' % f ');
角= fscanf(年代,' % f ');
距离= fscanf(年代,' % f ');
结束
如果距离> 50
距离= 50;
结束
x3 =距离* cos(角* 3.14/180);
y3 =距离* sin(角* 3.14/180);
x4 = 50 * cos(角* 3.14/180);
y4 = 50 * sin(角* 3.14/180);
x5 =距离* cos((角+ 2)* 3.14/180);
日元=距离* sin((角+ 2)* 3.14/180);
x6 = 50 * cos((角+ 2)* 3.14/180);
日元= 50 * sin((角+ 2)* 3.14/180);
x7 =距离* cos ((angle-2) * 3.14/180);
日元=距离* sin ((angle-2) * 3.14/180);
×8 = 50 * cos ((angle-2) * 3.14/180);
日元= 50 * sin ((angle-2) * 3.14/180);
x9 =距离* cos((角+ 3)* 3.14/180);
今年上半年=距离* sin((角+ 3)* 3.14/180);
x10 = 50 * cos((角+ 3)* 3.14/180);
日元= 50 * sin((角+ 3)* 3.14/180);
x11 =距离* cos ((angle-3) * 3.14/180);
去年=距离* sin ((angle-3) * 3.14/180);
x12 = 50 * cos ((angle-3) * 3.14/180);
日元= 50 * sin ((angle-3) * 3.14/180);
X3 =距离* cos(角* 3.14/180);
Y3 =距离* sin(角* 3.14/180);
X4 = 50 * cos(角* 3.14/180);
Y4 = 50 * sin(角* 3.14/180);
X5 = 0;
日元= 0;
X6 = 50 * cos((角+ 2)* 3.14/180);
日元= 50 * sin((角+ 2)* 3.14/180);
X7 = 0;
日元= 0;
×8 = 50 * cos ((angle-2) * 3.14/180);
日元= 50 * sin ((angle-2) * 3.14/180);
X9 = 0;
今年上半年= 0;
X10 = 50 * cos((角+ 3)* 3.14/180);
日元= 50 * sin((角+ 3)* 3.14/180);
X11 = 0;
去年= 0;
X12 = 50 * cos ((angle-3) * 3.14/180);
日元= 50 * sin ((angle-3) * 3.14/180);
持有;
n =情节([X3, X4, X5, X6, X7的混合体,X9, X10, X11, X12], [Y3、Y4日元,日元,日元,日元,今年上半年,日元,日元,日元),“颜色”,“y”,“线宽”,20);
m =情节([x3, x4, x5, x6, x7的混合体,x9, x10, x11, x12], [y3、y4日元,日元,日元,日元,今年上半年,日元,日元,日元),“颜色”,“r”,“线宽”,20);
drawnow;
删除(m, n);
结束
文件关闭(年代);
Matlab说:
警告:未读:匹配失败格式. .
警告:未读:超时发生之前终结者了. .
警告:未读:超时发生之前终结者了. .
警告:未读:超时发生之前终结者了. .
警告:文件未找到m, n。
在Untitled >(第94行)
警告:未读:超时发生之前终结者了. .
错误使用= =
矩阵维度必须一致。
错误Untitled(38)行
如果(fscanf(年代,' % f ') = = '。') = = (1 0 0)
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年6月27日
如果(fscanf(年代,' % f ')= =“。”)= = (1 0 0)
警告:fscanf()在一个串行端口默认读取,直到遇到第一个终结者或输入缓冲区的结束。在许多地方在你的代码,你假设fscanf (s % f)返回一个特定大小的输入。如果你有理由期待一个特定数量的输入在一行上,我建议您使用fgetl()来获取一条线,然后sscanf()行阅读项目。我建议您不断地反复核对物品你收到的数量是一样的你期望数量,和活跃的错误处理。
当你使用串行端口,它是 常见的 的通信流的同步与你的期望。

登录置评。


穆罕默德
穆罕默德 2020年8月22日
编辑:穆罕默德 2020年8月22日
你好所有的,我有代码用C语言写的,我需要把它转换成matlab。谁能帮助我呢?
#包括< stdio . h >
#包括< math.h >
#定义π3.14
无效计算(int r1, r2 int, int h);
intmain ()
{
int r1, r2, h;
printf (输入一个r1值:“);
scanf (“% d”,r1);
printf (输入一个r2值:“);
scanf (“% d”,r2);
(h = 1;h < 10;h + +) {
计算(r1, r2, h);
}
返回0;
}
无效计算(int r1, r2 int, int h)
{
双卷,surfaceArea;
体积=π* h * (r1 + r2) / 3;
printf (“体积% d % f \ n”h,体积);
surfaceArea =π* (r1-2) *√(战俘((r2 + r1), 2)) +战俘(h, 2)) +π*战俘(r1, 2);
printf (“% d % f表面积”h, surfaceArea);
}
4评论
穆罕默德
穆罕默德 2020年8月23日
非常感谢你们所有人。我也认为这个公式是错误的,但它是这样写在纸上。

登录置评。


阿里Abdualaziz
阿里Abdualaziz 2020年9月27日
有人能把这个matlab C代码吗?
Int I, j, k、m = 4, n = 2;
浮动x (t;浮动),x [n * m], p [m], xa [m] [n], [m] [n], f = 1000, fs = 8000;
X (t) =罪(2 *π* f * t);
(i = 1;我< = m * n; + +)
x[我]= x (i / fs);
(j = 1; < = m; j + +)
(k = 1; k < = n, k + +)
Xa [j] [k] = x (j * k);
(j = 1; < = m; j + +)
P [j] = scanf(输入% d th片,j);
(j = 1; < = m; j + +)
(k = 1; k < = n, k + +)
丫[j] [k] = xa [p [j]] [k];
3评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年9月27日
浮动x (t)浮动;)
如果我们假设每一行的第一个字符在发布支离破碎,应该小写大写,然后
浮动x (t)浮动;)
然而,在C语言中,不能有任何分号类型声明。
如果我们假设进一步的分号是一个打字错误,真正的代码
浮动x (t)浮动
然后,声明你想使用一个外部函数命名 x ,接受一个参数并返回一个浮点数参数浮动。
X (t) =罪(2 *π* f * t);
再次假设,第一个字符被意外大写,
x (t) =罪(2 *π* f * t);
这将是无效的。你宣布x是一个外部函数,但你不能分配函数c。如果你想定义x,那么你将不得不使用
浮动x (t)浮动{
返回罪(2 *π* f * t);
}
这必须分开的类型声明
浮动x (t)浮动),x [n * m], p [m], xa [m] [n], [m] [n], f = 1000, fs = 8000;

登录置评。


玛丽亚Imdad
玛丽亚Imdad 2020年10月8日
编辑:沃尔特·罗伯森 2020年10月8日
你好,
这是“小c代码加密算法”有谁能帮我将它转化为matlab . .
我将会非常感激。
(代码删除——世界发展报告》)
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年10月8日
对不起,玛丽亚Imdad:
由于法律原因这里不允许讨论加密。

登录置评。


塔拉sh
塔拉sh 2021年6月1日
编辑:塔拉sh 2021年6月1日
你好,请有人能帮我把这段代码从C语言Matlab ?
/ / /函数编码文本文件
intRleEncodeFile(文件* inFile,文件*输出文件)
{
int currChar;/ *当前字符* /
int prevChar;* / / *之前的字符
无符号字符数;/ *字符数运行* /
/ * * /验证输入和输出文件
如果((NULL = = inFile) | | (NULL = =输出文件)
{
errno = ENOENT;
返回1;
}
/ *编码inFile* /
prevChar = EOF;/ *力下char * /不同
数= 0;
/ *读取输入直到没有什么离开* /
((currChar =获取(inFile)) ! = EOF)
{
fputc (currChar输出文件);
/ *检查运行* /
如果(currChar = = prevChar)
{
/ *运行。运行长度* /
数= 0;
((currChar =获取(inFile)) ! = EOF)
{
如果(currChar = = prevChar)
{
数+ +;
如果(count = = UCHAR_MAX)
{
/ *计数是只要能* /
fputc(统计,输出文件);
/ *强迫下一个char * /不一样
prevChar = EOF;
打破;
}
}
其他的
{
/ * * /结束运行
fputc(统计,输出文件);
fputc (currChar输出文件);
prevChar = currChar;
打破;
}
}
}
其他的
{
/ * * /不运行
prevChar = currChar;
}
如果(currChar = = EOF)
{
因为EOF * / / *运行结束
fputc(统计,输出文件);
打破;
}
}
返回0;
}
/ / /函数解码文本文件
intRleDecodeFile(文件* inFile,文件*输出文件)
{
int currChar;/ *当前字符* /
int prevChar;* / / *之前的字符
无符号字符数;/ *字符数运行* /
/ * * /验证输入和输出文件
如果((NULL = = inFile) | | (NULL = =输出文件)
{
errno = ENOENT;
返回1;
}
/ *解码inFile* /
prevChar = EOF;/ *力下char * /不同
/ *读取输入直到没有什么离开* /
((currChar =获取(inFile)) ! = EOF)
{
fputc (currChar输出文件);
/ *检查运行* /
如果(currChar = = prevChar)
{
/ *运行。把它写出来。* /
数=获取(inFile);
(数> 0)
{
fputc (currChar输出文件);
数,
}
prevChar = EOF;/ *力下char * /不同
}
其他的
{
/ * * /不运行
prevChar = currChar;
}
}
返回0;
}
8的评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年6月2日
提醒:C代码 压缩文本文件;它只认为它。但你拒绝帮助写在MATLAB中运行长度编码,那么你得到一个MATLAB程序,C代码所做的,而不是一个项目,并在MATLAB运行长度编码。

登录置评。


广告林恩
广告林恩 2021年8月16日
请我需要这个c代码转换为matlab。
{
#地区的常量
> / / / <总结
/ / /块的数量。
/ / / < /总结>
const int__blockCount = 128;
> / / / <总结
/ / /右手x coord基地的矩形,因此也左手x coord的尾巴
/ / /(预先确定/计算128块)。
/ / / < /总结>
常量双__R = 3.442619855899;
> / / / <总结
/ / /面积每个矩形(预先确定/计算128块)。
/ / / < /总结>
常量双亲自= 9.91256303526217 e - 3;
> / / / <总结
/ / /分母__增加常数。这是这个类不同值的数量是有能力的
/ / /生成在区间[0,1],即(2 ^ 53)1截然不同值。
/ / / < /总结>
常量ulong __MAXINT = (1 ul < < 53) - 1;
> / / / <总结
/ / /比例因子转换为一个ULong区间[0,0 x1f_ffff_ffff_ffff]双区间[0,1]。
/ / / < /总结>
常量双__INCR = 1.0 / __MAXINT;
> / / / <总结
/ / /二进制表示IEEE 754 + 1.0的双精度浮点格式。
/ / / < /总结>
常量ulong __oneBits x3ff0_0000_0000_0000ul = 0;
#endregion
#地区的静态字段
/ /__x[我]__y[我]描述的长方形的右上的位置。
静态只读的[]__x两倍;
静态只读的[]__y两倍;
/ /比例完全的每一段内的分布表示,在ulong
/ /值0表示0% 2 ^ 53-1(即53二进制1 s) 100%。表示这是一个整数值
/ /允许一些浮点运算整数操作所取代。
静态只读的ulong [] __xComp;
/ /有用的预先计算的值。
/ /区域除以B0的高度。请注意。这不是* * __x一样(我),因为该地区
/ / B0的是亲自-尾分布的面积。
静态只读的双__A_Div_Y0;
#endregion
#地区的静态初始化
静态ZigguratGaussian ()
{
/ /初始化矩形位置数据。
/ /__x[我]__y[我]描述盒我的右上的位置。
/ /分配存储空间。我们添加一个的长度_我们有一个条目的x__x (__blockCount],这避免了
/ /做一个特殊的情况下测试的时候从机顶盒抽样。
__新双[x =__blockCount + 1];
__y =新双(__blockCount];
/ /确定最高基本矩形的位置/盒(矩形附加高斯的故事)。
/ /我们称之为这个盒子0或简称为B0。
/ /注意。x [0]描述了B1的右手边。(见图)。
__x [0] =__R;
__y [0] = GaussianPdfDenorm (__R);
/ /下一个盒子(B1)右手X B0边缘一样。
/ /注意。B1的身高盒子面积除以它的宽度,因此B1的高度小于B0因为
/ / B0总地区包括连接分布的尾巴。
__x [1] =__R;
__y [1] =__y [0] + (__一个/__x [1]);
/ / Calc位置所有剩余的矩形。
(int i = 2;我<__blockCount;我+ +)
{
__x[我]= GaussianPdfDenormInv (__y(张));
__y[我]=__y(张)+ (__一个/__x[我]);
}
/ /完整性我们定义一个名义上的右手边箱6 0(一盒没有区域)。
__x (__blockCount] = 0.0;
/ /有用的预先计算的值。
__A_Div_Y0 =__一个/__y [0];
__xComp = new ulong [__blockCount];
/ /特殊理由基地盒子。__xComp[0]商店__R B0的面积比例
/ /(召回所有部分区域__一个,但基本段B0的组合和分布的尾巴)。
/ /因此__xComp [0]盒内的样本点的概率部分的一部分。
__xComp [0] = (ulong) (((__R *__y [0]) /__)*(双)__MAXINT);
(int i = 1;我<__blockCount-1;我+ +)
{
__xComp[我]= (ulong) ((__x (i + 1) /__x[我])*(双)__MAXINT);
}
__xComp [__blockCount-1] = 0;/ /显示完整性。
/ /检查。测试,顶部边缘顶部的矩形是y = 1.0。
/ /注意。我们预计有一个小小的疏远1.0由于流动的不精确性
/ /点算法。
Debug.Assert (Math.Abs (1.0 -__y (__blockCount-1]) < 1平台以及);
}
2的评论
广告林恩
广告林恩 2021年8月17日
感谢你回答我.actually所有我需要的是初始化的一部分神matlab规划方法
在这里,我没有找到,我寻找

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!