如何在matlab表达式中用'。*'替换符号'*'?

时间:2013-05-22 07:39:41

标签: matlab

我有一个很长的表达&我需要用其中的逐个元素乘法符号' * '替换所有乘法符号' .* '。手工完成它需要很长时间。有一个简单的方法吗?

由于

4 个答案:

答案 0 :(得分:0)

我认为Ctrl + H就是您所寻找的。

答案 1 :(得分:0)

我想做两点。

  1. 我会用正则表达式替换。与regexprep('\.?*\*','.*')类似,如果之前已有.,则需要考虑。

  2. 这样做的方法。程序sed将是完美的。但你可以在Matlab中做 - 循环遍历所有文件并替换文本。

  3. 请记住,在重新删除文件之前,matlab不会知道这些更改。这意味着您不能立即使用替换的函数。

答案 2 :(得分:0)

要以编程方式执行此操作,您应该使用正则表达式替换:

>> str = 'x * y .* z';
>> regexprep(str, '\.?\*', '.*')
ans =
x .* y .* z

正则表达式\.?\*表示“匹配所有0或1点(\.?)的字符串,后跟乘法符号(\*),即匹配字符串{{1 }和'.*',并用'*'替换它们。

答案 3 :(得分:0)

Matlab有一个内置函数(我认为它在所有安装中)来执行此操作:vectorize。符号工具箱使用此功能。它还会将^/转换为元素方面的等价物。基于strrepstrfind的联接将比Matlab的慢速正则表达式实现更快。在命令窗口中键入edit vectorize以查看简要代码,您可以根据需要轻松复制和修改该代码。