data_feq$yuxia_m<-30*("nb9c33"+"nb9c34"+"nb9c35"+"nb9c36") Error in "nb9c33" + "nb9c34" : non-numeric argument to binary operator
时间: 2023-10-03 20:07:56 浏览: 39
这个错误是由于缺少逗号导致的语法错误。在R语言中,如果要在向量中添加多个元素,需要使用逗号将它们分隔开。你可以尝试将代码修改为以下形式:
data_feq$yuxia_m <- 30*c("nb9c33", "nb9c34", "nb9c35", "nb9c36")
这样就能正确执行乘法运算,将每个字符串乘以30并赋值给data_feq$yuxia_m。
相关问题
fEq(i,:,:)= rho .* t(i).*( 1 + cu + 1/2*(cu.*cu)-3/2*(ux.^2+uy.^2));怎么把索引加大
如果你想把索引加大,可以使用 MATLAB 中的“:”操作符。这个操作符可以用来生成一个从 1 到指定值的等差数列,例如:
1:10
这个表达式会生成一个包含 10 个元素的行向量,每个元素的值从 1 到 10 依次递增。如果你想把某个维度的索引加大,只需要在对应的位置使用“:”操作符即可。例如,如果你想把第二维的索引加大到 100,可以这样写:
fEq(i,:,:)= rho .* t(i).*( 1 + cu + 1/2*(cu.*cu)-3/2*(ux.^2+uy.^2));
改为:
fEq(i,:,1:100)= rho .* t(i).*( 1 + cu + 1/2*(cu.*cu)-3/2*(ux.^2+uy.^2));
这样就可以把第二维的索引从原来的大小扩展到 100。
fEq(i,:,:)= rho .* t(i).*( 1 + cu + 1/2*(cu.*cu)-3/2*(ux.^2+uy.^2));怎么修改索引数量
根据你提供的代码,fEq(i,:,:)是一个三维数组,其中第一个索引i表示时间步,第二个索引表示在x方向上的位置,第三个索引表示在y方向上的位置。如果你想修改索引数量,需要根据你的需求来调整数组的维度。
例如,如果你想将数组的维度从三维变为二维,可以将第二个和第三个索引合并成一个新的索引。修改后的代码如下:
fEq(i,:) = rho .* t(i).*( 1 + cu + 1/2*(cu.*cu)-3/2*(ux.^2+uy.^2));
这样,fEq(i,:)就变成了一个二维数组,其中第一个索引i表示时间步,第二个索引表示在x和y方向上的位置。如果你想将数组的维度从三维变为四维或更高维度,也可以根据类似的方法进行修改。