Project Icon

qalculate-qt

跨平台科学计算器 功能丰富易用

Qalculate! Qt UI是一款跨平台桌面计算器,集成了自定义函数、单位换算、符号计算和任意精度运算等功能。它支持矩阵运算,提供RPN模式,可进行复杂数学计算,也能满足货币转换等日常需求。界面直观,适合学生、工程师和科研人员使用。

Qalculate! Qt 用户界面

Qalculate! 是一款多功能跨平台桌面计算器。它使用简单,但提供了通常只有复杂数学软件包才具备的强大功能和多样性,以及日常所需的实用工具(如货币转换和百分比计算)。其特性包括大量可自定义函数库、单位计算和转换、符号计算(包括积分和方程)、任意精度、不确定性传播、区间运算、绘图,以及用户友好的界面(GTK、Qt和命令行界面)。

系统要求

  • Qt5(>= 5.6)或 Qt6
  • libqalculate(>= 5.2.0)

安装

Qalculate! 已发布版本的安装程序、二进制包和源代码的下载链接及安装说明可在 https://qalculate.github.io/downloads.html 获取。

在源代码顶级目录的终端窗口中运行

  • qmake
  • make
  • make install(以root身份运行,例如 sudo make install

生成的可执行文件名为 qalculate-qt

功能(来自libqalculate)

  • 计算和解析:
    • 基本运算和运算符:+ - * / mod ^ E () && || ! < > >= <= != ~ & | << >> xor
    • 容错字符串解析:log 5 / 2 .5 (3) + (2( 3 +5 = ln(5) / (2.5 * 3) + 2 * (3 + 5)
    • 表达式可包含任意组合的数字、函数、单位、变量、向量和矩阵,以及日期
    • 支持复数和无穷大数
    • 不确定性传播
    • 区间运算(用于确定有效数字或直接计算数字区间)
    • 支持所有常见进制,以及负数和非整数基数、六十进制数、时间格式和罗马数字
    • 可禁用函数、变量、单位或未知变量以减少混淆:例如,当你不希望(a+b)^2表示(are+barn)^2而是("a"+"b")^2时
    • 可控的隐式乘法
    • 矩阵和向量及相关运算(行列式等)
    • 详细的错误消息
    • 任意精度
    • RPN模式
  • 结果显示:
    • 支持所有常见进制,以及负数和非整数基数、六十进制数、时间格式和罗马数字
    • 众多自定义选项:精度、最大/最小小数位、复数形式、乘法符号等
    • 精确或近似:sqrt(32)返回4 * sqrt(2)或5.66
    • 简单分数和带分数:4 / 6 * 2 = 1.333... = 4/3 = 1 + 1/3
  • 符号计算:
    • 例如:(x + y)^2 = x^2 + 2xy + y^2; 4 "apples" + 3 "oranges"
    • 因式分解和化简
    • 微分和积分
    • 可解决大多数方程和不等式
    • 可自定义假设以得到不同结果(例如,若假设x为正数,则ln(2x) = ln(2) + ln(x))
  • 函数:
    • 数百个灵活函数:三角函数、指数和对数、组合学、几何、微积分、统计、金融、时间和日期等
    • 可轻松创建、编辑并保存为标准XML文件
  • 单位:
    • 支持所有SI单位和前缀(包括二进制),以及英制和其他单位系统
    • 自动转换:ft + yd + m = 2.2192 m
    • 显式转换:5 m/s to mi/h = 11.18 miles/hour
    • 智能转换:自动将5 kg*m/s^2转换为5 N
    • 货币转换,可获取每日汇率
    • 不同名称形式:缩写、单数、复数(m、meter、meters)
    • 可轻松创建、编辑并保存为标准XML文件
  • 变量和常量:
    • 基本常量:pi、e等
    • 大量物理常量(带或不带单位)和化学元素属性
    • CSV文件导入和导出
    • 可轻松创建、编辑并保存为标准XML文件
    • 灵活性高 - 可包含简单数字、单位或完整表达式
    • 具有对象和相关属性的数据集,类似数据库结构
  • 绘图:
    • 使用Gnuplot
    • 可绘制函数或数据(矩阵和向量)
    • 能将图表保存为PNG图像、postscript等格式
    • 多种自定义选项
  • 以及更多...

有关语法、可用函数、单位和变量的更多详细信息,请参阅手册(https://qalculate.github.io/manual/)

示例(表达式)

注意:如果逗号不用作小数点或千位分隔符,函数参数中的分号可以替换为逗号。

基本函数和运算符

sqrt 4 = sqrt(4) = 4^(0.5) = 4^(1/2) = 2

sqrt(25; 16; 9; 4) = [5 4 3 2]

sqrt(32) = 4 × √(2)(在精确模式下)

cbrt(−27) = root(-27; 3) = −3(实根)

(−27)^(1/3) ≈ 1.5 + 2.5980762i(主根)

ln 25 = log(25; e) ≈ 3.2188758

log2(4)/log10(100) = log(4; 2)/log(100; 10) = 1

5! = 1 × 2 × 3 × 4 × 5 = 120 5\2 = 5//2 = trunc(5 / 2) = 2(整数除法)

5 mod 3 = mod(5; 3) = 2

52的因式分解 = 2^2 × 13

25/4 × 3/5化为分数 = 3 + 3/4

gcd(63; 27) = 9

sin(pi/2) − cos(pi) = sin(90度) − cos(180度) = 2

sum(x; 1; 5) = 1 + 2 + 3 + 4 + 5 = 15

sum(\i^2+sin(\i); 1; 5; \i) = 1^2 + sin(1) + 2^2 + sin(2) + ... ≈ 55.176162

product(x; 1; 5) = 1 × 2 × 3 × 4 × 5 = 120

var1:=5 (将值5存储在变量var1中) var1 × 2 = 10

5^2 #这是一条注释 = 25

sinh(0.5) 其中 sinh()=cosh() = cosh(0.5) ≈ 1.1276260

plot(x^2; −5; 5) (绘制函数y=x^2,从-5到5)

单位

5 dm3 转换为 L = 5 dm^3 转换为 L = 5 L

20英里/2小时 转换为 km/h = 16.09344 km/h

1.74 转换为 英尺 = 1.74 m 转换为 ft ≈ 5 ft + 8.5039370 in

1.74 m 转换为 -ft ≈ 5.7086614 ft

100 lbf × 60 mph 转换为 hp ≈ 16 hp

50 Ω × 2 A = 100 V

50 Ω × 2 A 转换为基本单位 = 100 kg·m²/(s³·A)

10 N / 5 Pa = (10 N)/(5 Pa) = 2 m²

5 m/s 转换为 s/m = 0.2 s/m

500 € − 20% 转换为 $ ≈ $451.04

500 megabit/s × 2 h 转换为 b?byte ≈ 419.09516 吉比字节

物理常数

k_e / G × a_0 = (库仑常数 / 牛顿常数) × 玻尔半径 ≈ 7.126e9 kg·H·m^−1

ℎ / (λ_C × c) = 普朗克常数 ∕ (康普顿波长 × 光速) ≈ 9.1093837e-31 kg

5 ns × 里德伯常数 转换为 c ≈ 6.0793194E-8c

atom(Hg; weight) + atom(C; weight) × 4 转换为 g ≈ 4.129e-22 g

(G × planet(earth; mass) × planet(mars; mass))/(54.6e6 km)^2 ≈ 8.58e16 N(地球和火星之间的引力)

不确定度和区间运算

"±"可以替换为"+/-";启用区间运算的结果显示在括号中

sin(5±0.2)^2/2±0.3 ≈ 0.460±0.088 (0.46±0.12)

(2±0.02 J)/(523±5 W) ≈ 3.824±0.053 ms (3.825±0.075 ms)

interval(−2; 5)^2 ≈ intervall(−8.2500000; 12.750000) (intervall(0; 25))

代数

(5x^2 + 2)/(x − 3) = 5x + 15 + 47/(x − 3)

(\a + \b)(\a − \b) = ("a" + "b")("a" − "b") = 'a'^2 − 'b'^2

(x + 2)(x − 3)^3 = x^4 − 7x^3 + 9x^2 + 27x − 54

因式分解 x^4 − 7x^3 + 9x^2 + 27x − 54 = x^4 − 7x^3 + 9x^2 + 27x − 54 因式分解 = (x + 2)(x − 3)^3

cos(x)+3y^2 其中 x=pi 且 y=2 = 11

gcd(25x; 5x^2) = 5x

1/(x^2+2x−3) 转换为部分分式 = 1/(4x − 4) − 1/(4x + 12)

x+x^2+4 = 16 = (x = 3 或 x = −4)

x^2/(5 m) − hypot(x; 4 m) = 2 m 其中 x > 0 = (x ≈ 7.1340411 m)

cylinder(20cm; x) = 20L (计算半径为20 cm的20 L圆柱体的高度) = (x = (1 / (2π)) m) = (x ≈ 16 cm)

asin(sqrt(x)) = 0.2 = (x = sin(0.2)^2) = (x ≈ 0.039469503)

x^2 > 25x = (x > 25 或 x < 0)

solve(x = y+ln(y); y) = lambertw(e^x)

solve2(5x=2y^2; sqrt(y)=2; x; y) = 32/5

multisolve([5x=2y+32, y=2z, z=2x]; [x, y, z]) = [−32/3 −128/3 −64/3] dsolve(diff(y; x) − 2y = 4x; 5) = 6e^(2x) − 2x − 1

微积分

diff(6x^2) = 12x

diff(sinh(x^2)/(5x) + 3xy/sqrt(x)) = (2/5) × cosh(x^2) − sinh(x^2)/(5x^2) + (3y)/(2 × √(x))

integrate(6x^2) = 2x^3 + C

integrate(6x^2; 1; 5) = 248

integrate(sinh(x^2)/(5x) + 3xy/sqrt(x)) = 2x × √(x) × y + Shi(x^2) / 10 + C

integrate(sinh(x^2)/(5x) + 3xy/sqrt(x); 1; 2) ≈ 3.6568542y + 0.87600760

limit(ln(1 + 4x)/(3^x − 1); 0) = 4 / ln(3)

矩阵和向量

[1, 2, 3; 4, 5, 6] = ((1; 2; 3); (4; 5; 6)) = [1 2 3; 4 5 6] (2×3矩阵)

1...5 = (1:5) = (1:1:5) = [1 2 3 4 5]

(1; 2; 3) × 2 − 2 = [(1 × 2 − 2), (2 × 2 − 2), (3 × 2 − 2)] = [0 2 4]

[1 2 3].[4 5 6] = dot([1 2 3]; [4 5 6]) = 32 (点积)

cross([1 2 3]; [4 5 6]) = [−3 6 −3] (叉积)

[1 2 3; 4 5 6].×[7 8 9; 10 11 12] = hadamard([1 2 3; 4 5 6]; [7 8 9; 10 11 12]) = [7 16 27; 40 55 72] (哈达玛积)

[1 2 3; 4 5 6] × [7 8; 9 10; 11 12] = [58 64; 139 154] (矩阵乘法)

[1 2; 3 4]^-1 = inverse([1 2; 3 4]) = [−2 1; 1.5 −0.5]

统计学

mean(5; 6; 4; 2; 3; 7) = 4.5

stdev(5; 6; 4; 2; 3; 7) ≈ 1.87

quartile([5 6 4 2 3 7]; 1) = percentile((5; 6; 4; 2; 3; 7); 25) ≈ 2.9166667

normdist(7; 5) ≈ 0.053990967

spearman(column(load(test.csv); 1); column(load(test.csv); 2)) ≈ −0.33737388 (取决于CSV文件中的数据)

时间和日期

10:31 + 8:30 to time = 19:01

10h 31min + 8h 30min to time = 19:01

now to utc = "2020-07-10T07:50:40Z"

"2020-07-10T07:50CET" to utc+8 = "2020-07-10T14:50:00+08:00"

"2020-05-20" + 523d = addDays(2020-05-20; 523) = "2021-10-25"

today − 5 days = "2020-07-05"

"2020-10-05" − today = days(today; 2020-10-05) = 87 d

timestamp(2020-05-20) = 1 589 925 600

stamptodate(1 589 925 600) = "2020-05-20T00:00:00"

"2020-05-20" to calendars (返回希伯来、伊斯兰、波斯、印度、中国、儒略、科普特和埃塞俄比亚日历中的日期)

数制

52 to bin = 0011 0100

52 to bin16 = 0000 0000 0011 0100

52 to oct = 064

52 to hex = 0x34

0x34 = hex(34) = base(34; 16) = 52

523<<2&250 to bin = 0010 1000

52.345 to float ≈ 0100 0010 0101 0001 0110 0001 0100 1000

float(01000010010100010110000101001000) = 1715241/32768 ≈ 52.345001

floatError(52.345) ≈ 1.2207031e-6

52.34 to sexa = 52°20′24″

1978 to roman = MCMLXXVIII

52 to base 32 = 1K

sqrt(32) to base sqrt(2) ≈ 100000

0xD8 to unicode = Ø code(Ø)的十六进制值 = 0xD8

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号