小编pp1*_*p11的帖子

朱莉娅:在数组中的列中找到最大值

假设我们有一个像这样定义的数组:

a=[1 2; 3 4; 5 5; 7 9; 1 2];
Run Code Online (Sandbox Code Playgroud)

在Matlab中,我们可以通过编写来找到最大值:

 [x y] = max(a)
   x =
     7     9
Run Code Online (Sandbox Code Playgroud)

在朱莉娅,我们可以使用:

  a=[1 2; 3 4; 5 5; 7 9; 1 2]
  findmax(a,1)
Run Code Online (Sandbox Code Playgroud)

返回:

 ([7 9],

  [4 9])
Run Code Online (Sandbox Code Playgroud)

但是,我感兴趣的不仅是找到两列的[7 9],还有它们在每列中的相对位置,如[4,4].当然,我可以写更多的编码行,但是我可以直接使用findmax吗?

julia

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

Julia在循环中更新变量

我有一个编程值函数迭代的代码.代码是从Matlab翻译而来的.第一次迭代很好地滚动,但是在第二次迭代中,旧值函数在某个点错误地更新,尽管第二次迭代仍然从matlab产生等效结果.

首先,我在这里声明变量:

sigma = 1.5;
delta = 0.1;
beta  = 0.95;
alpha = 0.30;
ks    = 1.0;
csy   = 0.2;
kmin  = 0.1*ks;
kmax  = 1.1*ks;
nbk   = 20;
devk  = (kmax-kmin)/(nbk-1);
k     = linspace(kmin,kmax,nbk)';
v0    = zeros(nbk,1);
v0    = (csy*k.^alpha).^(1-sigma);
v0    = v0';
v     = zeros(nbk,1);
ik1   = zeros(nbk,1);
iter  = 1;
crit  = 1;
tol   = 1e-6;
Run Code Online (Sandbox Code Playgroud)

第二,我执行它(它是一个while循环),但我更喜欢在另一个之后执行一次迭代):

 for i=1:nbk
      imin =  max(ceil(((1-delta)*k[i]-kmin)/devk)+1.0,1);
      imax =  min(floor((k[i]^alpha+(1-delta)*k[i]-kmin)/devk)+1.0,nbk);

      imin=trunc(Int, imin);
      imax=trunc(Int, imax);
      c = k[i]^alpha+(1-delta)*k[i]-k[imin:imax];
      u = (c.^(1-sigma)-1)/(1-sigma);
      (v[i],itmp)= findmax(u+beta*v0[imin:imax]); …
Run Code Online (Sandbox Code Playgroud)

julia

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

Julia:创建(1,n)数组的简短语法

在Matlab中我可以写:

[0:n]
Run Code Online (Sandbox Code Playgroud)

得到一个数组(1,n).对于n = 2,我得到:

  0     1     2  
Run Code Online (Sandbox Code Playgroud)

如何在朱莉娅做同样的事情?目的是获得相同类型的数组(1,3).

我知道我可以写[0 1 2],但我想要一些像Matlab一样的通用.

julia

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

标签 统计

julia ×3