小编Cri*_*ngo的帖子

在 MATLAB 中连接元胞数组

在 Matlab 中,您可以通过以下方式连接数组:

a=[];
a=[a,1];
Run Code Online (Sandbox Code Playgroud)

如何对元胞数组做类似的事情?

a={};
a={a,'asd'};
Run Code Online (Sandbox Code Playgroud)

上面的代码继续在单元格内嵌套单元格。我只想将元素附加到元胞数组中。我该如何实现这个目标?

arrays matlab cell-array

1
推荐指数
1
解决办法
2620
查看次数

CUDA逆FFT错误

在进行逆FFT时,我有以下代码有错误.正向FFT工作,因为我打印输出并验证它.但反过来似乎没有.有任何想法吗?看起来我错过了一个概念吗?

代码 - http://pastebin.com/iZYtdcqR

编辑 - 我基本上重写了CUDA工具包示例附带的代码.我试图使用FFT但使用修改后的算法(实际上是DIF)执行卷积.

EDIT2 - 问题的dding代码.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#include <cuda_runtime.h>
#include <cufft.h>

typedef enum signaltype {REAL, COMPLEX} signal;

typedef float2 Complex;

void
printData(Complex *a, int size, char *msg) {

  if (msg == "") printf("\n");
  else printf("%s\n", msg);

  for (int i = 0; i < size; i++)
    printf("%f %f\n", a[i].x, a[i].y);
}

void
normData(Complex *a, int size, float norm) {

  for (int i = 0; i < size; i++) {
    a[i].x /= norm; …
Run Code Online (Sandbox Code Playgroud)

cuda fft ifft

0
推荐指数
1
解决办法
965
查看次数

在Matlab中绘制结构数组

我在MATLAB中有一个结构数组(98*1):

在此输入图像描述

现在我试图通过使用2个特定字段(比如x和y)来绘制图形.x和y的值存在于这98行中的每一行上.尝试使用以下命令绘制错误.

plot(ans{1:98,1}.x,ans{1:98,1}.y)
Run Code Online (Sandbox Code Playgroud)

期望从大括号或点索引表达式输出一个,但有98个结果.

just(第1行)图中的错误(ans {1:98,1} .x,ans {1:98,1} .y)

需要帮助知道我做错了什么,以及如何纠正它.

matlab matlab-figure matlab-guide

0
推荐指数
1
解决办法
1161
查看次数

如何在MATLAB中从字符向量中提取某些单词?

如何在MATLAB中从字符向量中提取某些单词?我正在努力解决这个问题。我想从此字符向量中仅获取城市名称:

myText = 'Vienna 2.7  Gallen  3.8  Zurich 0.9    Lugano 2.8   Rome 12.1   Paris 9.2'
Run Code Online (Sandbox Code Playgroud)

matlab

0
推荐指数
1
解决办法
63
查看次数

如何在mex编译代码语句中使用变量?

我正在将我的c ++文件编译为mex文件。我将对mex文件(例如copyfile或)进行以下操作movefile。所以我想使用c ++名称的变量。例如,我有一个文件test.cpp。然后我在matlab命令中输入以下代码,

mex test.cpp
Run Code Online (Sandbox Code Playgroud)

我要这个:

filename = 'test';
mex [filename '.cpp'];
Run Code Online (Sandbox Code Playgroud)

但这没有用。我可以用其他方式吗?

matlab mex

0
推荐指数
1
解决办法
38
查看次数

如何使用 OpenCV 使图像模糊?

我是 OpenCV 新手。如何在 Python 中使用 OpenCV 使图像变得模糊?

python opencv image-processing

0
推荐指数
1
解决办法
3855
查看次数

模糊圆检测

我是 opencv 的新手,想检测这些圆圈的中心点。我尝试使用带有阈值的 Hough Circles,但它似乎并没有一直产生好的结果。

使用轮廓和阈值很容易获得此图像:

使用轮廓和阈值很容易获得此图像

更难做到这一点:

做这个比较难

阈值和霍夫圆不适用于此图像:

阈值和霍夫圆不适用于此图像

添加更多图像以获取帮助

你能建议任何对所有图像都可靠的方法吗?

opencv image-processing computer-vision

0
推荐指数
1
解决办法
55
查看次数

matlab sum(A) 和 sum(sum(A)) 之间的区别

我有两张图像CB我需要对总差异进行求和A = C-B

现在,我得到了解决方案sum(A),但我也读到它sum(sum(A))也被用于评级函数。有人可以解释一下有什么区别吗?

arrays matlab matrix

0
推荐指数
1
解决办法
476
查看次数

以下代码中是否可以避免这些舍入错误?

我正在尝试在 Matlab 中编写一个程序来使用 LU 分解求解线性方程组,该分解采用高斯消元法,因此需要大量算术步骤。

答案接近正确的解决方案,但与 Python 等其他语言相比,舍入误差相当高。

例如,其中一个解恰好是 3,但我得到 2.9877。

我知道内置函数应该用于此类琐碎的事情,因为 Matlab 是一种高计算语言,但如果我仍然想用循环等来完成它,我总是会遇到舍入错误,或者有没有办法在做时减少这些错误数值计算?

我附上了代码,但它很大,不值得阅读。为了完整起见,我仍然附上了它。人们可以注意到许多算术运算的使用会引入大量舍入误差。

这些舍入误差是 Matlab 固有的且不可避免的吗?

clc
clear
%No of equations is n
n=3;
%WRITING THE Coefficients
A(1,1)=3;
A(1,2)=-0.1;
A(1,3)=-0.2;
B(1)=7.85;

A(2,1)=0.1;
A(2,2)=7;
A(2,3)=-0.3;
B(2)=-19.3;

A(3,1)=0.3;
A(3,2)=-0.2;
A(3,3)=10;
B(3)=71.4;
%Forward Elimination
for i=1:n-1
  for j=i+1:n
    fact=A(j,i)/A(i,i);
    A(j,i)=fact;
    
    A(j,j:n)=A(j,j:n)-fact*A(i,j:n);
    B(j)=B(j)-fact*B(i);
  end
end
disp(A)
% Calculating d matrix
sum=0;
D(1)=B(1);
for i=2:n
  for j=1:i-1
    sum=sum+A(i,j)*B(j);
    D(i)=B(i)-sum;
  end
end
disp("D =")
disp(transpose(D))

%Back Substitution
X(n)=D(n)/A(n,n);
for z=n-1:-1:1
  sum=0;
  for w=z+1:n
    sum=sum+A(z,w)*X(w); …
Run Code Online (Sandbox Code Playgroud)

matlab matrix linear-algebra rounding numerical-methods

0
推荐指数
1
解决办法
89
查看次数

为什么计算机科学中“(eps * 0.5) + 1”不大于“1”?

我正在学习Matlab,我不明白为什么(eps * 0.5) + 1不大于1。

eps

ans =

     2.220446049250313e-16

fprintf('%.52f\n', eps);
0.0000000000000002220446049250313080847263336181640625
sign(eps)

ans =

     1

% 1 means that eps is >= 0
eps >= 0

ans =

  logical

   1

eps > 0

ans =

  logical

   1

eps < 0

ans =

  logical

   0

% so, now I take half of eps
my_half_eps = eps * 0.5;
my_half_eps

my_half_eps =

     1.110223024625157e-16

fprintf('%.52f\n', my_half_eps);
0.0000000000000001110223024625156540423631668090820312
sign(my_half_eps)

ans =

     1

% half eps is positive
my_half_eps >= 0

ans …
Run Code Online (Sandbox Code Playgroud)

math floating-point precision matlab epsilon

0
推荐指数
1
解决办法
89
查看次数