谁能解释为什么我的代码中出现以下错误?它涉及将双打传递给Z,但我没有看到参数a和b是如何加倍的.
clear all;
im = imread('smallblob.png');
im = im(:,:,1);
w = size(im,1);
h = size(im,2);
[dx,dy] = gradient(double(im));
lambda = 1;
Ox = -1.^lambda.*(-dx);
Oy = -1.^lambda.*(dy);
magO = sqrt(Ox.^2 + Oy.^2);
Ix = dx;
Iy = dy;
magI = sqrt(Ix.^2 + Iy.^2);
N=w+1;
yp(1:N)=-0.5*w:1:0.5*w;
xp(1:N)=-0.5*h:1:0.5*h;
Y(1:w,1:h)=0;
X(1:w,1:h)=0;
for i=1:w
Y(i,:)=yp(i);
end
for i=1:h
X(:,i)=xp(i);
end
for a=1:h
for b=1:w
for i=1:N-1
Rx(i)=-0.5*(Ix(i)+Ix(i+1));
Ry(i)=-0.5*(Iy(i)+Iy(i+1));
Rz(i)=Z(a,b); %HERE IS THE ERROR
dlx(i)=Ix(i+1)-Ix(i);
dly(i)=Iy(i+1)-Iy(i);
end
Rx(N)=-0.5*(Ix(N)+Ix(1));
Ry(N)=-0.5*(Iy(N)+Iy(1));
Rz(N)=Z(a,b);
dlx(N)=-Ix(N)+Ix(1);
dly(N)=-Ix(N)+Ix(1);
for i=1:N
Xcross(i)=dly(i).*Rz(i); …Run Code Online (Sandbox Code Playgroud) 如果我有 :
a=magic(9);
Run Code Online (Sandbox Code Playgroud)
如何计算任意两点之间矢量的方向和幅度a?例如,如果我定义vec = [a(1,1) a(2,2)],矢量的方向是否定义为:vecdir = a(1,1) - a(2,2)?
我需要编写一个查看文件的脚本,并用普通括号替换任何花括号.到目前为止我有:
use strict;
use warnings;
open(INFILE,"<rscore") || die "Couldn't open rscore for reading!\n";
open(OUTFILE,">rscore.new") || die "Couldn't open rscore.new for writing!\n";
while(<INFILE>){
$_ =~ s/{/(/gi; #g for every occurrence, i for case-insensitive
print OUTFILE $_;
}
close INFILE;
close OUTFILE;
rename("rscore.new","rscore") || die "Couldn't rename the new file!\n";
Run Code Online (Sandbox Code Playgroud)
并收到以下错误:
syntax error near line 10 near insensitive print.
Run Code Online (Sandbox Code Playgroud)
这可能是愚蠢的事情.此外,如果有一个更有效的方式这样做(我确信有),我会接受建议.
我对seq()R中的函数有疑问.我正在使用sqldf包来连接并包装s代码语句的R代码.
我需要运行一个脚本10次,每次我选择一个指定的行数(我正在创建一个基于频率分布的控制组),即类似的东西
SELECT * FROM table
LIMIT 2
SELECT * FROM table
LIMIT 4
Run Code Online (Sandbox Code Playgroud)
等等,直到
SELECT * FROM table
LIMIT i
Run Code Online (Sandbox Code Playgroud)
其中i是指定为的序列(2,4,6,8,10,12,10,9,7,3,1)
但如果我写:
seq(2,4,6,8,10,12,10,9,7,3,1)我对seq()函数使用了太多的参数.
我如何在R中绕过它,因为它不像我想以1的步长从1增加到10 seq(1,10).
希望我已经明确了这个问题!
这是违规的脚本:
select distinct person, min(pdate) as min_date from db
where ptype like 'A1%'
or (ptype like 'B1%'
and (pdate between '2000-01-01' and '2001-01-01'))
group by person
Run Code Online (Sandbox Code Playgroud)
问题
还原的min_date还包括我指定的pdates的那些.但是,当我取出其中一个ptypes时,我有:
select distinct person, min(pdate) as min_date from db
where ptype like 'A1%'
and (pdate between '2000-01-01' and '2001-01-01')
group by person
Run Code Online (Sandbox Code Playgroud)
然后这个问题就消失了.为什么引入第二个ptype会重新调整我指定的pdates之外的实例?
谢谢.
我可以像这样访问数组的所有元素:
echo ${myarray[@]}
Run Code Online (Sandbox Code Playgroud)
和元素的数量:
echo ${#myarray[@]}
Run Code Online (Sandbox Code Playgroud)
我可以通过以下方式获得第n个元素:
echo ${myarray[@]:(-1)}
Run Code Online (Sandbox Code Playgroud)
但是我尝试以下方法来获取第n-1个数组元素:
echo ${myarray[@]:(-2)}
Run Code Online (Sandbox Code Playgroud)
但我最后得到了最后两个元素.我如何只获得最后一个元素?
我想在(融化的)相关矩阵中报告所有唯一值.
如果我做:
melt(cor(x,method="pearson",use="complete.obs"))
Run Code Online (Sandbox Code Playgroud)
我会得到:
VarA VarA 1
VarA VarB 0.001
VarA VarC -0.002
VarB VarB 1
VarB VarA 0.001
VarB VarC 0.003
VarC VarC 1
VarC VarA -0.002
VarC VarB 0.003
Run Code Online (Sandbox Code Playgroud)
然而,有些行有效地报告了同样的事情VarA VarB = VarB VarA,所以我真正想要的是:
VarA VarA 1
VarA VarB 0.001
VarA VarC -0.002
VarB VarB 1
VarB VarC 0.003
VarC VarC 1
Run Code Online (Sandbox Code Playgroud)
甚至更好的奖金删除与自己相关的变量,所以我只得到:
VarA VarB 0.001
VarA VarC -0.002
VarB VarC 0.003
Run Code Online (Sandbox Code Playgroud) 如果我有:
abc a1b2c3 123
Run Code Online (Sandbox Code Playgroud)
我如何grep不是字母数字字符或数字的整个字符串,以便我得到
abc
Run Code Online (Sandbox Code Playgroud)
我以为我可以将-F旗帜与[^0-9]ie 结合使用
grep -F '[^0-9]' filename
Run Code Online (Sandbox Code Playgroud)
并返回不包含数字的整个字符串 - 但这不会返回任何内容.
有什么建议?
我有一个多维数组:
@multarray = ( [ "one", "two", "three" ],
[ 4, 5, 6, ],
[ "alpha", "beta", "gamma" ]
);
Run Code Online (Sandbox Code Playgroud)
我可以访问 @multarray[0]
[
[0] [
[0] "one"
[1] "two"
[2] "three"
]
]
Run Code Online (Sandbox Code Playgroud)
甚至 @multarray[0][0]
"one"
Run Code Online (Sandbox Code Playgroud)
但是我如何访问说每个子数组的第一个子元素?类似于multarray[*][0]产生的东西:
"one"
4
"alpha"
Run Code Online (Sandbox Code Playgroud)
谢谢!
当前,我正在使用Groovy创建嵌套的for循环,该循环将对象的内容打印到旨在作为分隔数据行的字符串中。我想将这些字符串输出到一个csv文件,而不是打印它们。
这是代码:
for (doc in docs) {
AnnotationSet row = doc.getAnnotations("Final").get("Row")
AnnotationSet BondCounsel = doc.getAnnotations("Final").get("Bond_Counsel")
AnnotationSet PurchasePrice = doc.getAnnotations("Final").get("PurchasePrice")
AnnotationSet DiscountRate = doc.getAnnotations("Final").get("DiscountRate")
for (b in BondCounsel) {
for (d in DiscountRate) {
for (r in row) {
for (p in PurchasePrice) {
println(doc.getFeatures().get("gate.SourceURL") + "|"
+ "mat_amount|" + r.getFeatures().get("MatAmount") + "|"
+ "orig_price|" + p.getFeatures().get("VAL") + "|"
+ "orig_yield|" + r.getFeatures().get("Yield") + "|"
+ "orig_discount_rate|" + d.getFeatures().get("rate")+ "|"
+ "CUSIP|" + r.getFeatures().get("CUSIPVAL1") + r.getFeatures().get("CUSIPVAL2") + r.getFeatures().get("CUSIPVAL3") + "|"
+ …Run Code Online (Sandbox Code Playgroud)